gpt4 book ai didi

ruby-on-rails - 移除 Rails 3.1 中的事件记录错误

转载 作者:数据小太阳 更新时间:2023-10-29 07:03:00 25 4
gpt4 key购买 nike

我正在将一个应用程序从 Rails 3.0 升级到 3.1,发现在我的测试中出现以下错误:

NoMethodError: undefined method `delete' for #<ActiveModel::Errors:0x007f928c0ee310>

我有以下移动错误的片段:

after_validation do

self.errors[:image_size].each do |message|
self.errors.add(:image, message)
end

self.errors[:image_extension].each do |message|
self.errors.add(:image, message)
end

self.errors.delete(:image_size)
self.errors.delete(:image_extension)

end

我仍然需要能够从 image_sizeimage_extension 移动所有验证,但我不确定如何在 Rails 3.1 中执行此操作。有什么想法吗?

最佳答案

删除任何东西的唯一方法是 clear并删除所有内容,所以我认为您必须:

  • 提取所有错误信息(可能使用to_hash)。
  • 使用 self.errors.clear 清除所有错误。
  • 使用 self.errors.add 将所有错误消息放回正确/所需的位置。

关于ruby-on-rails - 移除 Rails 3.1 中的事件记录错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7315051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com