2015-06-05 18 views
0

有沒有什麼辦法可以創建一個我將應用於我所有網頁的網頁模板? 我是Ruby on Rails的新手,我已經獲得了足夠的知識來理解流程如何工作,但無法找到爲網站上的所有頁面使用相同頁面模板的方法。 我正在使用RubyMine,但如果需要可以在命令提示符下工作。使用模板在rails應用程序上創建多頁面ruby

任何幫助將不勝感激。

+0

只是發現,在佈局中,我需要放置<%= yield %>呈現任何網頁。不知道我是否正確。 – VD007

+0

是的,這是正確的,你可以使用佈局來使用示例頁面模板,幷包括'<%= yield %>'頁面特定內容 –

+0

請參閱此處以瞭解您可以執行的操作:https://www.railstutorial.org/book/static_pages#sec-layouts_and_embedded_ruby ...在這裏:http://guides.rubyonrails.org/layouts_and_rendering.html – 7stud

回答

2

應用程序/視圖/佈局/ application.html.erb這是一種常見的佈局,其中,你會發現其中<%= yield %>呈現<body>標籤的所有頁面。現在根據您的要求,您需要在所有頁面上顯示一些常用模板。

因此更好的做一個partial文件..例如,HeaderFooter在整個站點保持不變。爲此,請爲頁眉部分創建一個名爲_header.html.erb的部分文件,併爲頁腳部分創建一個名爲_footer.html.erb的部分文件。把這些文件放在app/views/layout/_your_partialfile.html.erb

然後使它們喜歡:

<%= render partial: "/layouts/header" %> 
<%= yield %> 
<%= render partial: "/layouts/footer" %> 

欲瞭解更多信息請參閱:http://guides.rubyonrails.org/layouts_and_rendering.html

我希望這是你清楚現在明白了。 :)

+0

感謝您的解釋。這非常有幫助。但現在有另一個問題。我想呈現一個form_for創建的窗體,該頁面沒有給出任何錯誤,但我看不到表單域(我可以看到標題等)。我是否需要導入任何類似於java中的操作,如果你知道? – VD007

+0

@ VD007:你能否提供一些細節,比如你使用什麼名字創建了表單文件?還讓我知道你在哪裏以及如何渲染它? –

0

一般來說,rails項目的文件爲app/layouts/application.html.haml,適用於您加載的每個頁面。你可以把導航欄那裏,登錄鏈接等

相關問題