![]() |
1
4
在创建管理区域时要记住的两件事是 1)您可以为路由创建名称空间,以获取您要查找的/admin URL,以及 2)您可以让控制器继承ActionController的其他后代 因此,要创建一个管理区域,您需要在名称空间中声明RESTful资源(假定使用Rails 3路由):
顶部设置为公共设置,底部设置为您提供管理路由,如/admin/users/new和/admin/posts/1等。我还假设您可能需要“仪表板”,因此我正在设置指向admin::dashboardController的索引方法的路由。 然后创建一个从ApplicationController下降的管理基控制器。使用它保存管理区域布局和身份验证筛选器:
现在在app/controllers中创建一个名为“admin”的目录。使其中的控制器正常,但让它们从基本控制器继承:
在app/views中为“admin”创建一个相应的目录,这样做很好——所有的东西都有名称空间,视图/控制器的行为都会像您想象的那样。 您可以始终运行“rake routes”来查看所有管理路由。 希望有帮助! |
![]() |
2
0
你所描述的听起来像是 Cross-cutting concern . 具体来说,用户身份验证是一个影响许多其他问题的问题。在您的案例中,用户权限会影响文章的发布,但在将来,假设它可能会影响评论控制、类别添加等内容是合理的。 在这种情况下,最好在处理 初级的 关注点(即,创建一个项目将属于项目控制器),并将身份验证和角色安全卸载到一个附加模块上,您的控制器都可以使用该模块。这允许您将项目代码集中在单个控制器中,并且允许您将来在其他控制器中添加角色级别的安全性,而无需进行重大的重构。 Rails中有各种各样的身份验证和角色级别安全插件。我会做一点调查,找到一个最适合你需要的。 |
![]() |
cluster1 · 采取独立的新行动的好处是什么? 5 月前 |
![]() |
Robert · 使用JSON或哈希时,将NULL替换为NIL 6 月前 |
![]() |
Fred Willmore · Rails控制器不呈现任何模板 1 年前 |
![]() |
Diogo Amaral · 实现API请求的正确方式 1 年前 |
![]() |
Meknassih · 在控制器方法中分配给模型没有任何作用 1 年前 |
![]() |
Michael Ding · Rails上的默认会话到期问题 1 年前 |
|
Flávio · 基于另外两个生成数组 1 年前 |