2
我想用調查功能構建應用程序。要接收來自用戶的答案,我添加了非持久性屬性is_checked(我的持久性屬性is_right在我的模式中)。Ruby on Rails,訪問非永久屬性和屬性默認值
class Answer < ActiveRecord::Base
belongs_to :question
attr_accessor :is_checked
def initialize
self.is_checked = false
end
after_initialize :default_values
private
def default_values
self.is_right ||= false
end
end
但是當我打開軌道控制檯,然後運行:
Survey.first.questions.last.answers.last.attributes
沒有is_checked屬性。如果我打電話給is_checked getter回答實例我得到無。
我想,然後才能訪問到這個屬性'initialize'方法開始。這意味着你的'is_checked'屬性不能是'false',因爲它還不存在。你可以把你的行'self.is_checked = false'放在你這樣開始的方法中:'after_create:my_method'。 – BriceB