【问题标题】:CanCan error 'undefined method role?' with DeviseCanCan 错误“未定义的方法角色?”与设计
【发布时间】:2011-01-12 23:39:27
【问题描述】:

嘿,我希望你能帮助我:

我正在阅读本教程

http://www.tonyamoyal.com/2010/07/28/rails-authentication-with-devise-and-cancan-customizing-devise-controllers/ 我一步一步做。

我不太确定将角色放在哪里?-教程中的方法,因为它没有说明将它放在哪里。

现在当我想注册或登录时它给我这个错误

非常感谢

【问题讨论】:

    标签: ruby-on-rails-3 authorization devise cancan


    【解决方案1】:

    需要在用户模型中添加(app/models/user.rb

    class User < ActiveRecord::Base
      has_and_belongs_to_many :roles
      devise :database_authenticatable, :confirmable, :recoverable, :rememberable, :trackable, :validatable
    
      def role?(role)
          return !!self.roles.find_by_name(role.to_s.camelize)
      end
    end
    

    【讨论】:

    • @Sinetris 谢谢你,先生。我有两个问题:(i)双感叹号是什么意思“!!” (ii) 如果我在用户控制台中,那么 User.roles 应该会提供一个活动记录集合,这是正确的吗?谢谢你的帖子
    【解决方案2】:

    你应该参考这个:

    https://github.com/ryanb/cancan/wiki/Role-Based-Authorization

    我认为这会很有帮助..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多