将变量传递给Ruby on Rails中的视图

时间:2017-07-24 19:14:06

标签: ruby ruby-on-rails-5

如何将@films传递给查看文件films.html.erb并将其显示在视图文件中?

def index
    @films = Film.select("Title, Year").order('created_at DESC');
    @htmldoc = File.read(Rails.root.join('app', 'views','films.html.erb'))
    respond_to do |format|
       format.html { render html: @htmldoc.html_safe}
    end
end

1 个答案:

答案 0 :(得分:2)

如果您要呈现films.html.erb,那么您不需要打开并阅读该文件,只需在template中使用render选项index方法。

将你的方法改编成这样的东西:

def index
  @films = Film.select('Title, Year').order('created_at DESC')
  render template: 'view/films'
end

注意view必须与erb文件所在的文件夹名称匹配。