我一直在尝试设置rails_admin并使用Rails 4.0.4,但不幸的是我遇到了一些问题。我有一个设计生成的用户模型管理添加为布尔事后。但即使用户是管理员并且需要访问rails_admin面板,我也会受到未经授权的访问。这就像当前用户无法正确传入ability.rb。不知道这是否是Rails 4问题,或者我做错了什么。Rails 4,Devise,CanCan和rails_admin问题?
下面是代码,带有一点(丑陋的?)解决方法,但我需要一个更优雅的解决方案。谢谢。
ability.rb
class Ability
include CanCan::Ability
def initialize(user)
# Define abilities for the passed in user here. For example:
#
user = User.current # guest user (not logged in)
if user.admin?
can :manage, :all
can :access, :rails_admin # needed to access RailsAdmin
can :dashboard # dashboard access
else
can :read, :all
end
end
end
user.rb
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
def self.current
Thread.current[:user]
end
def self.current=(user)
Thread.current[:user] = user
end
end
application_controller.rb
而且,凑rse,我在中启用了rails_admin.rb。
RailsAdmin.config do |config|
config.authorize_with :cancan
end
谢谢!
惨惨没有准备好rails4至今。您可以使用它,但您可能会遇到一些问题。 – LuiGi