在RubyonRails中将变量传递给视图
如何将在RubyonRails中将变量传递给视图,ruby,ruby-on-rails-5,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 ht
@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
如果要渲染
films.html.erb
文件,则无需打开并读取该文件,只需在索引
方法中使用模板
的渲染
选项即可
将您的方法稍作调整以适应如下情况:
def index
@films = Film.select('Title, Year').order('created_at DESC')
render template: 'view/films'
end
注意
视图
必须与erb文件所在文件夹的名称相匹配。我认为您不需要文件。请阅读此处。除非我遗漏了什么,否则您可以在不读取文件的情况下渲染该视图。你能显示app/views/films.html.erb
的内容吗?我会在select
和order
方法中使用Rails约定,而不是传递字符串<代码>@films=Film。选择(:title,:year)。订单(创建于::desc)