我对RoR非常陌生,并且在学习中遇到了障碍。我针对一个表演者db表创建了一个脚手架,该表有一个外键连接到一个流派表,作为表演者流派的查找表。
我要做的是使用genre_id从当前表演者行查找对体裁表提取体裁名称。我有一切工作如所愿在列表的行动,除了我似乎不能弄清楚如何添加一个"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
谢谢
您应该使用关联,它们将使这非常容易。
在Performer模型中,您应该有一个belongs_to :genre
行。
在你的Genre模型中,你应该有一个has_many :performers
行。
现在在你的代码中,你可以这样访问一个类型的名称:(假设你已经有了一个@performer
)
@performer.genre.genre_name