如何获取模型关联数据
这是我的模特。
user.rb
has_many :movie
has_many :quality
has_many :option
movie.rb
belongs_to :user
has_many :quality, :dependent => :destroy
quality.rb
belongs_to :movie
belongs_to :user
has_many :option
option.rb
belongs_to :user
belongs_to :quality
has_one :movie, :through => :quality
这是我的控制器
movie_controller.rb
def show
@movie = Movie.find(params[:id])
end
在我看来,我有这个。
-@movie.qualities.option do |o|
=o.name
我希望获得电影品质的所有名称。 请帮帮我。
答案 0 :(得分:0)
你需要改变所有与复数的关系
has_many :movies
has_many :qualities
has_many :options
# etc
和选项belongs_to movie
答案 1 :(得分:0)
您的最终代码应如下所示
<强> user.rb 强>
has_many :movies
has_many :qualities, through: :movies
has_many :options, through: :qualities
<强> movie.rb 强>
belongs_to :user
has_many :qualities, dependent: :destroy
<强> quality.rb 强>
belongs_to :movie
has_one :user, through: :movie
has_many :options
<强> option.rb 强>
belongs_to :quality
has_one :user, through: :quality
has_one :movie, through: :quality
<强> movie_controller.rb 强>
def show
@movie = Movie.find(params[:id])
end
查看应该是这样的。
- @movie.qualities.each do |quality|
- quality.options.each do |option|
= option.name
干杯:)