![]() |
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中有各种各样的身份验证和角色级别安全插件。我会做一点调查,找到一个最适合你需要的。 |
![]() |
KollegeBo · 触发更新的POST或GET 3 年前 |
![]() |
mariolototo · 无法获取“/”express以外的路线 3 年前 |
![]() |
nnmmss · 根据查询字符串值激活li 3 年前 |
![]() |
Ezaldeen Ezaldeen · pdo包装器最后一个id返回0 3 年前 |
![]() |
Bruno Vavretchek · JSON模型建议 7 年前 |
![]() |
Pasha · 如何在@RequestBody中传递2个对象? 7 年前 |