我的app/views/layouts文件夹如下所示:
application.html.erb
user_sessions.html.erb
errors.html.erb
Run Code Online (Sandbox Code Playgroud)
这些工作正常,我对它们没有任何问题但是id现在想要为提示添加新的布局,但仅限于索引和show动作.
"tips.index.html.erb"会起作用吗?
dtt*_*101 38
添加一个名为'tips.html.erb'的新布局
在提示控制器中添加以下内容:
layout "tips", :only => [ :index, :show ]
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令指定特定操作的布局:
def new
render(:layout => "layouts/application")
end
Run Code Online (Sandbox Code Playgroud)
我从未尝试在控制器中使用多个布局声明.可能是添加另一个
layout "standard", :only => [ :new, :edit ]
Run Code Online (Sandbox Code Playgroud)
可能会工作......
如果要在控制器中使用多个布局,请使用以下代码:(action_name是可以直接在Rails中使用的预定义变量)
class OrdersController < BaseController
layout :determine_layout
private
def determine_layout
%w(new).include?(action_name) ? "some_layout" : "public"
end
end
Run Code Online (Sandbox Code Playgroud)
请参阅:https://stackoverflow.com/a/5525014/445908
归档时间: |
|
查看次数: |
17479 次 |
最近记录: |