2017-02-24 134 views
0

我並不確定我是否清楚瞭解RESTful路由中的渲染方式。在路由中呈現RESTful路由

例如: 在我的頁面控制器,

class PagesController < ApplicationController 
    def home 
    render "home.html.erb" 
    end 
end 

在我的routes.rb文件 我有以下幾點:

get "/" => "pages#home" 

render home.html.erb平均輸出此頁面上的信息?

謝謝!

+0

您的渲染'home.html.erb'已過時。隨意刪除該行 –

回答

1

是的。 render負責在您的操作被調用時呈現您的應用程序內容供瀏覽器使用。如果您的視圖名稱與操作名稱匹配,並且放置在應用/視圖

中的正確文件夾中,則您並不需要明確指定視圖的名稱,例如,如果您的視圖在app/views/pages/中,則您的控制器可以只是

class PagesController < ApplicationController 
    def home 
    end 
end 

即使你想呈現一個模板,該模板的名字是與操作名不同(或在另一個地方本地化);您不需要指定文件擴展名,只需指定文件擴展名(路徑/名稱如果超出指定文件夾的範圍即可查看您的控制器)...

例如,如果您的模板爲app/views/pages/home_template.html.erbhome您可以做的動作

class PagesController < ApplicationController 
    def home 
    render 'home_template' 
    end 
end 
+0

感謝您的解釋。我剛剛開始學習編程,所以我問了很多愚蠢的問題。如果你有任何你認爲對我有用的資源,請告訴我。謝謝! – anniehswong