开发者

Rails - how would you set up this HABTM relationship

开发者 https://www.devze.com 2023-02-10 19:36 出处:网络
I have a situation where Project can have many Tags (and vice versa), so I have set up a has_and_belongs_to_many 开发者_如何学Gorelationship between the two.

I have a situation where Project can have many Tags (and vice versa), so I have set up a has_and_belongs_to_many 开发者_如何学Gorelationship between the two.

My question is this: I need a project to have the ability to carry a single current tag.

Option 1

Can I add a tag_id to my Project table? How do I set up the relationship correctly, given there is already a `projects_tags' model?

Option 2

I'd imagine it isn't effective to have the projects_tags model carry a boolean current field, because it would require additional queries in practice for me to find the right relationship. I just throw it out there as an alternative I've considered.


You could use something like this:

class Project < ActiveRecord::Base
  belongs_to :current_tag, :class_name => Tag
end

And then have current_tag_id in your projects table.

You can't add current to projects_tags because it's not technically a model: it's only a join table. You'd have to incorporate another model and use has_many :through to do it that way.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号