2015-01-04 80 views
0

我想將CanCanCan帶入我的Rails應用程序,但我無法閱讀我的用戶級別的角色屬性。 我只需要一個「每個用戶一個角色」的解決方案,所以我在我的用戶模型中添加了一個「角色」併成功遷移了它,但是當我嘗試讀取該屬性時,它的零... 0 0在我的用戶類以下內容:無法訪問ActiveRecord中的屬性

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: "[email protected]", ... , role: "admin"> 
irb(main):002:0> user.role 
=> nil 
irb(main):003:0> user.username 
=> "ofhouse" 

我得到了用戶的角​​色爲零,而其他屬性都可以訪問?

回答

1

刪除attr_accessorrole,它屏蔽了AR自動生成的role屬性。

+0

它的工作原理,謝謝! – ofhouse 2015-01-04 15:20:52