Sri*_*hsa 4 ruby ruby-on-rails cancan rails-admin ruby-on-rails-4
我正在使用Rails 4.0.1和ruby 2.1.1.我正在尝试将cancan与rails_admin集成.我application_controller.rb看起来像这样
helper_method :current_user
private
def current_user
@current_user ||= User.find_by(email: session[:user_id]) if session[:user_id]
end
Run Code Online (Sandbox Code Playgroud)
我的current_user帮助方法从应用程序的其余部分正常工作.我ability.rb看起来像这样
class Ablity
include CanCan::Ability
def initialize(user)
if user
can :access, :rails_admin
end
end
end
Run Code Online (Sandbox Code Playgroud)
控制根本不在if条件内,这意味着"user"参数为"nil".当我尝试访问rails_admin时,我得到一个CanCan::AccessDenied异常.我哪里错了?
编辑:我没有使用设计进行身份验证
更新:我已经cancan用cancancan1.8版取代了.还是行不通
Sri*_*hsa 10
解决了.在config/initializers/rails_admin.rb我们必须指定current_user_methodas
config.current_user_method { current_user } # refers to the current_user helper method in my case
Run Code Online (Sandbox Code Playgroud)
现在一切都很完美.我很惊讶为什么在文档中没有指定这个.
| 归档时间: |
|
| 查看次数: |
544 次 |
| 最近记录: |