Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 有很多:通过联系没有找到_Ruby On Rails_Ruby_Ruby On Rails 3_Has Many_Model Associations - Fatal编程技术网

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错误只是抱怨了
问题的一半:)