2015-01-04 4 views
0

CanCanCan을 내 Rails 앱에 가져오고 싶지만 내 사용자 등급의 역할 속성을 읽지 못합니다. "사용자 당 하나의 역할"솔루션 만 필요하므로 사용자 모델에 '역할'열을 추가하고 성공적으로 마이그레이션했습니다. 그러나 속성을 읽으려고하면 성공적으로 마이그레이션됩니다 ...ActiveRecord의 속성에 액세스 할 수 없습니다.

내 사용자 클래스에 다음

class User < ActiveRecord::Base 

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

나는 레일 콘솔에서 다음을 수행하십시오

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

role에 대한 attr_accessor을 제거하면 자동으로 AR에 의해 생성 된 role 속성을 차폐합니다.

+0

작동합니다. 감사합니다. – ofhouse