我的应用程序中有一系列控制器和相关视图存在于Admin
命名空间内.我希望这些视图使用与主命名空间中不同的布局,以便我可以为常规站点提供不同的外观.有没有办法使用Rails的内置功能来做到这一点?我知道如果我有一个PostController
类并posts.html.erb
在layouts目录中创建一个视图,这将被用作任何控制器视图的布局,我可以为命名空间控制器做类似的事情吗?
spa*_*ovv 27
为您要继承的管理员控制器创建自定义AdminController类.此AdminController继承自ApplicationController并覆盖布局.
class AdminController < ApplicationController
layout "admin"
end
class Admin::PostController < AdminController
end
Run Code Online (Sandbox Code Playgroud)
layout
方法不需要.您应该将命名空间的布局文件放入views/layouts/<namespace>
.
名称为' foo
'的名称空间示例:
控制器: app/controllers/foo/bar_controller.rb
该控制器的布局: app/views/layouts/foo/bar.html.erb
我相信你会在Ryan Bates的精美截屏视频中得到你问题的确切答案.
http://railscasts.com/episodes/269-template-inheritance
(即如果您使用的是Rails 3.1)
归档时间: |
|
查看次数: |
11307 次 |
最近记录: |