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

Ruby on rails 在RubyonRails中对模型调用save实际上并没有保存它,ruby-on-rails,ruby,ruby-on-rails-4,actionmailer,ruby-on-rails-4.2,Ruby On Rails,Ruby,Ruby On Rails 4,Actionmailer,Ruby On Rails 4.2,在我的控制台中,我保存的模型如下: billy = Student.first billy.name = 'Billy' billy.save 一切正常。但是,在控制台中调用ApplicationMailer后,上述机制不再工作:( 有什么想法吗?我已经遇到过好几次了。 在其各自的模型中,总是为该属性设置attr\u accessor。在没有看到更多代码的情况下,我不能肯定地告诉您,但我敢打赌您肯定有类似的功能 class Student < ActiveRecord::Base a

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

billy = Student.first
billy.name = 'Billy'
billy.save
一切正常。但是,在控制台中调用
ApplicationMailer
后,上述机制不再工作:(


有什么想法吗?

我已经遇到过好几次了。 在其各自的模型中,总是为该属性设置
attr\u accessor
。在没有看到更多代码的情况下,我不能肯定地告诉您,但我敢打赌您肯定有类似的功能

class Student < ActiveRecord::Base
  attr_accessor :name
  #code...
end
class-Student

查看以了解更多详细信息。但实际上您需要删除
attr\u访问器:name
行。

启用SQL日志记录并查看是否将正确的数据发送到数据库可能会有所帮助?
ActiveRecord::Base.logger=logger.new(STDOUT)
。我们实际上启用了SQL日志记录,在第一种情况下,我们看到SQL
UPDATE
语句输出。但在第二种情况下,没有任何内容发送到数据库。我们只看到
begin transaction
紧接着
commit transaction
尝试以下几件事:在pry
show method billy.sa中ve
以确保它没有被重新定义。
billy.update\u属性(名称:“Jimmy”)
查看其他持久化方法是否有效。保存此模型的另一个实例。保存另一个模型的实例。@shock\u one-我会尝试的that@muistooshort-该SQL语句有效,仅在发送电子邮件之前显示,发送电子邮件后不会发送该SQL语句进行保存。我有一些
attr\u访问器,但是它们都用于完全不相关的字段(与Desive有关)。
name
未被引用。
class Student < ActiveRecord::Base
  attr_accessor :name
  #code...
end