0
我对RoR非常陌生,在学习中遇到障碍。 我创建了一个针对表演者数据库表的脚手架,该表具有与流派表相关的外键作为表演者流派的查找表。Rails为实例变量增加值
我正在试图做的是使用来自当前表演者行的genre_id在针对流派表的查找中提取流派名称。我在列表动作中按照需要工作,除了我似乎无法弄清楚如何在@performer实例变量中添加“genre_name”=> @genre [:genre_name],以便它传播到视图。
在我的列表动作中,我有以下代码,但我显然做错了,并且非常感谢,如果有人能够引导我。
def list
@performer_pages, @performers = paginate :performers, :per_page => 10
@performers.each do |performer|
#logger.debug(performer[:genre_id])
@genre = Genre.find(performer[:genre_id], :select => 'genre_name')
@performers[performer[:id]][:genre_name] = @genre[:genre_name]
^-- THIS IS THE LINE I AM STUCK ON
end
logger.debug(@performers.inspect)
end
感谢
哦......我想我应该提到这一点。在我的表演模特里,我有has_one:流派,在我的流派模特中,我有belongs_to:表演者。我应该将其更改为has_many吗? – Skittles
啊......所以我把它弄倒了。不。在我的数据库中,我有FK约束,而表演者有genre_id字段,genres是genre_name基于该id的查找表。那么,我需要反转belongs_to,然后has_one,是吗? – Skittles
正确。另外Rails有时在数据库级别不适合FK约束,因为它在应用程序级别上执行它们的时间和地点有它自己的规则。现在保留它,但要注意它。 – ctcherry