我一直收到此错误
未定义的方法`音乐会'为 ActiveRecord的::关系:: ActiveRecord_Relation_Artist:0xb50b691c>
尝试这样做时:
<% @artists = Artist.where(name: "Test") %>
<% @concertTest = @artists.concerts %> #this line raises the error
以下是我的模特:
class Concert < ActiveRecord::Base
validates_presence_of :venue
validates_presence_of :date
has_many :reviews
belongs_to :artist
end
class Artist < ActiveRecord::Base
validates_presence_of :name
has_many :concerts
end
我似乎无法弄清楚导致此错误的原因,以及为什么我不能以这种方式参考特定艺术家的音乐会。有什么建议?感谢
答案 0 :(得分:1)
请尝试这样:
<% @artists = Artist.where(name: "Test").first %>
<% @concertTest = @artists.concerts %>
注意: - where
将返回Active record relation
数组。
答案 1 :(得分:0)
当我执行.find_by_name而不是.where
时,它可以正常工作<% @artists = Artist.find_by_name("Test") %>
<% @concertTest = @artists.concerts %>
我不确定这个原因,但也许有人可以发表评论澄清它。