【问题标题】:How to create a separate admin interface for blogs in rails如何在 Rails 中为博客创建单独的管理界面
【发布时间】:2017-05-18 17:55:24
【问题描述】:

我需要为我的博客网站创建一些路由,以便普通用户只能阅读帖子和产品。而超级管理员创建管理员来审核帖子。我怎样才能在rails中实现这一点? 我想要 myapp.com/admin 带我进入管理员登录页面。 只有超级管理员可以管理版主。

到目前为止,我在“app/controller/admin/home_controller”中有一个控制器 它具有用于查看管理员的所有帖子和用户的索引操作。

【问题讨论】:

  • 我搜索的越多,我就越困惑。
  • 从了解授权和身份验证的区别开始。

标签: ruby-on-rails devise routes rails-routing user-roles


【解决方案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】:

    我将在阅读大量方法后分享我实际所做的事情,以防万一有人卡在我原来的位置。希望有所帮助:

    1. 在“app/controllers/”中创建一个新控制器。这个控制器只负责 GET 请求。
    2. 从 'app/controllers/' 中的控制器中删除 Create、Update、Delete 方法,因为这些方法只有管理员可以访问。
    3. 在“app/controllers/admin/”中创建一个新的 admin_controller.rb。在此处添加身份验证。
    4. 在同一目录中为每个模型创建新的控制器(从 AdminsController 继承)并将管理操作放在那里。

      类 AdminPostsController

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-03
      相关资源
      最近更新 更多