我如何使用content_for来放置内容:yield

我在ruby 1.9.2,rails3。

所以我的网站有一些结构,

我想把菜单放在我的网页中间。

我正在做类似的事情(在application.html.erb文件中)

blahblahblah 

我有一个文件menu.html.erb,它有网站的菜单结构。 如果我想使用./layout文件夹中的文件作为该yield:菜单的一部分,我该怎么办? 我想知道,如果我必须为每个控制器使用content_for,并且在每个函数中… Btw,menu.html.erb对于每个控制器都会有所不同,这就是为什么我要让它产生的。

总之,我只是希望在任何地方都包含一个共同的共享menu.html.erb。

您可以在视图中执行以下操作:

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

您可以尝试将其与controller.controller_name (不确定这适用于Rails3)结合使用,并自动为每个控制器加载不同的菜单。

您可以考虑在布局上观看railscast,它简洁而有用。 数字7和8。

http://railscasts.com/episodes?search=layout