也许有一个技术/实现的原因,但在我看来,“布局”是视图层的一部分,尽管如此,Rails似乎只允许在控制器级别指定布局.
我的控制器不应该关心布局…模板应该.有没有办法从.erb文件中指定要使用的布局?
就像是:
<%= with_layout :news_Feed do %> <p> My markup in here. </p> <% end %>
或者你可以想到的任何其他实现…但是文档只是从控制器的角度来看这个布局.
也许这不是很难实现一个with_layout帮助器.
编辑|我发现我正在寻找什么:
<% render :layout => "some_layout" do %> <p> My markup here </p> <% end %>
现在提供您的ActionController有:
class ApplicationController < ActionController::Base layout nil
然后每个模板都可以选择自己的布局,使用这种方法.
如果您在应用/布局中放置布局,其名称与控制器匹配,那么将使用该布局,因此您不必严格地指定它们是否相同.无论哪种方式,花花公子如何写你的模板现在完全控制它,而不是花花公子谁写的控制器:)