在控制台中,我保存的模型如下:
billy = Student.first
billy.name = 'Billy'
billy.save
工作符合预期。然而,当我在控制台中调用ApplicationMailer
后,上述机制不再工作:(
MyMailer.send_some_emails
billy.name = 'Jimmy'
billy.save # returns true
billy.save! # no exception thrown
billy.reload
billy.name # will return 'Billy', not 'Jimmy' as expected
有什么想法吗?
我已经遇到过几次了。在其各自的模型中,总是为该属性设置attr_accessor
。如果没有看到更多你的代码,我不能肯定地告诉你,但我敢打赌你有这样的东西。
class Student < ActiveRecord::Base
attr_accessor :name
#code...
end
查看类似问题的公认答案,了解更多详细信息。但实际上,您需要删除attr_accessor :name
行。