0

我想将CanCanCan 带入我的 Rails 应用程序,但我无法读取我的用户类的角色属性。我只需要一个“每个用户一个角色”的解决方案,所以我在我的用户模型中添加了一个“角色”列并成功迁移它,但是当我尝试读取属性时,它为零......

我在我的用户类中创建了以下内容:

class User < ActiveRecord::Base

    ## User Model
    ROLES = %i[admin default]
    ...
    attr_accessor :role
    ...
end

当我在 Rails 控制台上尝试以下操作时:

irb(main):001:0> user = User.find(1)
User Load (1.0ms)  SELECT  "users".* FROM "users"  WHERE "users"."id" = $1 LIMIT 1  [["id", 1]]
=> #<User id: 1, username: "ofhouse", email: "test@example.com", ... , role: "admin">
irb(main):002:0> user.role
=> nil
irb(main):003:0> user.username
=> "ofhouse"

我的用户角色为零,而其他属性可以访问?

4

1 回答 1

2

去掉attr_accessorfor role,它屏蔽了roleAR 自动生成的属性。

于 2015-01-04T14:46:49.393 回答