如何在rails中为博客创建单独的管理界面

时间:2017-01-04 12:29:12

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

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

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

2 个答案:

答案 0 :(得分:0)

尝试在操作之前添加一个前置过滤器,这样每次管理员尝试点击该网址时,他/她都应该重定向到admin_login_url

before_filter :check_role

private
 def check_role
    unless current_user.role=='super_admin'
      redirect_to admin_login_url
    end
  end

答案 1 :(得分:0)

我会在阅读大量的方法后分享我实际做的事情,以防万一有人被困在我身边。希望有所帮助:

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

    类AdminPostsController< AdminsController