Rails:has_many association

时间:2014-11-25 22:53:24

标签: ruby-on-rails ruby ruby-on-rails-4 activerecord

我有三个模特

轮询

class Poll < ActiveRecord::Base
  has_many :options
end

选项

class Option < ActiveRecord::Base
  belongs_to :poll
  has_many :votes
end

表决

class Vote < ActiveRecord::Base
  belongs_to :option
end

如何获得投票的所有选项的所有投票,如

Poll.find(params[:id]).votes

由于

3 个答案:

答案 0 :(得分:1)

尝试将此添加到民意调查模型

has_many :votes, through: :options

答案 1 :(得分:1)

您应该可以在民意调查中使用has_many :through关联:

class Poll
  belongs_to :poll
  has_many :votes, through: :options
end

更多信息:http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association

答案 2 :(得分:1)

添加到您的民意调查模型中:

has_many :votes, through: :options
  

has_many:通过关联通常用于与另一个模型建立多对多连接。此关联表示通过第三个模型可以将声明模型与另一个模型的零个或多个实例匹配。