루비 1.9.3-p327, 레일 3.2.13ActiveRecord : 키워드 토큰을 메서드로 사용할 수 없습니까?
나는 다음과 같은 모델을 가지고 :
class ActivationToken < ActiveRecord::Base
before_save :create_token
attr_reader :token
private
def create_token
self.token = 'abc123'
end
end
나는 새로운 ActivationToken 레코드를 생성, 나는 nil
을 얻을 my_token.token
를 호출하지만 참조하는 경우가
my_token[:token]
나는 값을 얻는다.
왜 그럴까요?
'attr_reader : token'을 제거한 후'my_token.token'으로 액세스 해보십시오. – kiddorails
attr_accessor로 설정하면 작동합니다. 값을 쓰기 가능하게 만들고 싶지 않으므로 attr_reader로 선언하십시오. 어떤 종류의 이름 충돌 같은 느낌이지만, 어디서 그런지 알 수는 없습니다. SQLite 로컬로 사용하고 있습니다. –
아래에 답변이 추가되었습니다. 아마도 도움이 될 것입니다 – kiddorails