在我的控制台中,我保存这样的模型:

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

查看accepted answer to a similar question了解更多详细信息。但实际上,您需要删除attr_accessor :name行。

10-04 11:57