【问题标题】:Rails ActiveRecord appears to have ignored a model errorRails ActiveRecord 似乎忽略了模型错误
【发布时间】:2012-05-11 13:23:27
【问题描述】:

我有以下模型和关联:

状态 has_many :transactions, foreign_key: :transtatusid

事务属于_to :status, foreign_key: :transstatusid

我有一个交易记录 t1 和一个状态记录 s3。我的意思是:

 t1.transtatusid = s3.id
 t1.save

但是我是错误地这样做了

 t1.transtatusid = s3
 t1.save

问题是 Rails 没有抱怨。它只是忽略了分配。

它应该抱怨吗?如果没有,为什么不呢?

我在 MySQL 中使用 Rails3.2.1 和 Ruby 1.9.3。

【问题讨论】:

    标签: ruby-on-rails attributes rails-activerecord assign


    【解决方案1】:

    据我所知,Rails 将忽略保存时的错误并继续使用对象的旧状态。 如果要引发异常,则必须使用 save!反而。 之后,您可以使用错误消息、闪存消息或类似消息从引发的错误中解救出来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-28
      • 2016-09-30
      • 2016-03-16
      • 2014-02-03
      • 2012-03-11
      • 2013-09-07
      • 2016-08-12
      • 1970-01-01
      相关资源
      最近更新 更多