在Rails_admin中配置管理员

时间:2012-09-11 07:22:52

标签: ruby-on-rails admin

所以我已经实现了rails admin gem,即使使用cancan gem,我也无法找到一种方法来保护localhost:3000 / admin

有人可以给我一步一步的指导吗?我无法真正找到管理面板的视图或控制器,所以我不确定如何密码保护它。

1 个答案:

答案 0 :(得分:0)

此页面介绍了如何使用Cancan:https://github.com/sferik/rails_admin/wiki/CanCan

# in config/initializers/rails_admin.rb
RailsAdmin.config do |config|
  config.authorize_with :cancan
end

他们的能力.rb例子可能比你需要的要多一点,这是我的:

class Ability
  include CanCan::Ability

  def initialize(user)
    user ||= User.new # guest user (not logged in)
    if user.has_role? :admin
      can :manage, :all
      can :access, :rails_admin   # grant access to rails_admin
      can :dashboard              # grant access to the dashboard
    end
  end

end

然后,您必须将admin角色授予用户。

你可以在rails控制台上这样做:

user = User.find(1) #find user with ID 1
user.add_role :admin #assign role
user.has_role? :admin #should evaluate to True