2010-10-21 35 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

相关问题