如何在 Rails 中为博客创建单独的管理界面
Posted
技术标签:
【中文标题】如何在 Rails 中为博客创建单独的管理界面【英文标题】:How to create a separate admin interface for blogs in rails 【发布时间】:2017-05-18 17:55:24 【问题描述】:我需要为我的博客网站创建一些路由,以便普通用户只能阅读帖子和产品。而超级管理员创建管理员来审核帖子。我怎样才能在rails中实现这一点? 我想要 myapp.com/admin 带我进入管理员登录页面。 只有超级管理员可以管理版主。
到目前为止,我在“app/controller/admin/home_controller”中有一个控制器 它具有用于查看管理员的所有帖子和用户的索引操作。
【问题讨论】:
我搜索的越多,我就越困惑。 从了解授权和身份验证的区别开始。 【参考方案1】:尝试在您的操作之前添加一个前置过滤器,以便管理员每次尝试点击该网址时,他/她都应该被重定向到 admin_login_url
before_filter :check_role
private
def check_role
unless current_user.role=='super_admin'
redirect_to admin_login_url
end
end
【讨论】:
【参考方案2】:我将在阅读大量方法后分享我实际所做的事情,以防万一有人卡在我原来的位置。希望有所帮助:
-
在“app/controllers/”中创建一个新控制器。这个控制器只负责 GET 请求。
从 'app/controllers/' 中的控制器中删除 Create、Update、Delete 方法,因为这些方法只有管理员可以访问。
在“app/controllers/admin/”中创建一个新的 admin_controller.rb。在此处添加身份验证。
在同一目录中为每个模型创建新的控制器(从 AdminsController 继承)并将管理操作放在那里。
类 AdminPostsController
【讨论】:
以上是关于如何在 Rails 中为博客创建单独的管理界面的主要内容,如果未能解决你的问题,请参考以下文章