Ruby on rails 有很多:通过联系没有找到
我有两个模型可以添加标签Ruby on rails 有很多:通过联系没有找到,ruby-on-rails,ruby,ruby-on-rails-3,has-many,model-associations,Ruby On Rails,Ruby,Ruby On Rails 3,Has Many,Model Associations,我有两个模型可以添加标签 玩家 票 我有一个属于两者的标签模型,所以我有两个连接模型 tag_票 tag_播放器 我收到一个无法找到关联:在模型票证中标记票证错误,但我的关联在那里 class Ticket < ActiveRecord::Base has_many :tag_tickets has_many :tags, :through => :tag_tickets end 您首先需要指定:tag_票据连接,如下所示: class Ticket < Ac
- 玩家
- 票
标签
模型,所以我有两个连接模型
- tag_票
- tag_播放器
无法找到关联:在模型票证中标记票证
错误,但我的关联在那里
class Ticket < ActiveRecord::Base
has_many :tag_tickets
has_many :tags, :through => :tag_tickets
end
您首先需要指定:tag_票据连接,如下所示:
class Ticket < ActiveRecord::Base
has_many :tag_tickets
has_many :tags, :through => :tag_tickets
end
class Ticket < ActiveRecord::Base
has_and_belongs_to_many :tags
end
或者,您可以跳过所有这些并使用habtm联接(仅当tag_TICKES联接真正仅用作联接且本身没有主键时才建议使用)。在这种情况下,您将没有TagTicket模型(只有一个tag_tickets表),而Ticket模型如下所示:
class Ticket < ActiveRecord::Base
has_many :tag_tickets
has_many :tags, :through => :tag_tickets
end
class Ticket < ActiveRecord::Base
has_and_belongs_to_many :tags
end
classticket
我以前尝试过top选项,但得到的结果是,在model TagTicket中找不到源关联:tag或:tags。试试“has_many:tags,:through=>:tag_tickets,:source=>”。这是其中之一吗?
谢谢,中间部分很有帮助。rails错误只是抱怨了问题的一半:)