在RubyonRails中对模型调用save实际上并没有保存它



在控制台中,我保存的模型如下:

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行。

最新更新