2017-07-24 114 views
-1

如何通過@films來查看文件films.html.erb並將其顯示在視圖文件中?將變量傳遞給Ruby on Rails中的視圖

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

我不認爲你需要'File.read'這裏。除非我錯過了一些東西,否則您可以在不讀取文件的情況下渲染該視圖。你可以顯示「app/views/films.html.erb」的內容嗎? – moveson

回答

2

如果你想渲染films.html.erb那麼你並不需要打開和讀取文件,只使用你的index方法中的template選項render

適應了一下你的方法是這樣的:

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

view必須哪來的再培訓局文件的文件夾的名稱相匹配。

+2

我會在'select'和'order'方法中使用Rails約定而不是傳遞字符串。 '@films = Film.select(:title,:year).order(created_at::desc)' – moveson

相關問題