2010-10-21 54 views
0

我是在ruby 1.9.2中,rails3。我該如何使用content_for來放東西:yield

,所以我的網站有一些結構,

,我希望把菜單在我的網頁的中間。

我做這樣的事情(application.html.erb文件內)

blahblahblah 
<div id="menu"> 
    <%= yield :menu %> 
<div> 
blahblhablah 

我有一個具有菜單結構的網站文件menu.html.erb。 如果我想使用./layout文件夾中的文件作爲yield的一部分,該怎麼辦?我想知道,如果我必須使用content_for爲每個控制器,並在每個功能... 順便說一句,menu.html.erb將是不同的每個控制器,所以這就是爲什麼我屈服。

總之,我只是想包括一個共同的共享menu.html.erb幾乎無處不在。

回答

5

你可以做這樣的事情在你的看法:

<% content_for(:menu) do %> 
    <%= render :partial => "/layouts/user_menu.html.erb" %> 
<% end %> 

你可以嘗試用此controller.controller_name(不知道這個工程的Rails3中)相結合,自動加載每個控制器不同的菜單。

+0

這就是我怎麼會做到這一點。 – s84 2010-10-21 07:14:36

+0

如何組合controller.controller_name ...製作控制器文件夾並創建另一個控制器文件? – user482594 2010-10-21 20:49:31

相關問題