我有以下模型:
class Origtext < ActiveRecord::Base
attr_accessible :book, :chapter, :textual, :verse
has_many :reviews
end
class Review < ActiveRecord::Base
belongs_to :origtext
attr_accessible :description
end
以下内容收集了该书所有的原文&#39;圣经&#39;
@origtexts = Origtext.where(:book => 'Bible')
如何收集与某本书相关的所有评论的红宝石代码是什么?
发布代码以迭代评论:
# @reviews.each do |review|
# puts review
# end
答案 0 :(得分:2)
在您的控制台中尝试此操作:
@origtexts = Origtext.where(:book => 'Bible')
@origtexts.each do |orig_text|
puts orig_text.name
puts orig_text.reviews # puts the reviews associated with the orig_text
end
或者带有id:
@origtext = Origtext.where(id: params[:id]).first
@origtext.reviews # returns the reviews associated with the origtext
或直接来自Review模型:
the_holy_bible = Origtext.where(:book => 'Bible').first
@reviews = Review.where(origtext_id: the_holy_bible.id)
答案 1 :(得分:0)
它应该如下所示:
@reviews = @origtexts.each(&:reviews)
答案 2 :(得分:0)
@reviews = Review.where(:origtext => { :book => 'Bible' })