Rails为实例变量添加值



我对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

我希望这能帮助你走上正确的道路!

相关内容

  • 没有找到相关文章

最新更新