我使用以下选项配置了 application.rb,以便为嵌套模型上的错误添加索引:
config.active_record.index_nested_attribute_errors = true
字符串
我有许多模型,它工作得很好,但我想在单个模型中更改此行为,如下所示:
# frozen_string_literal: true
class User < ApplicationRecord
has_many :addresses,
inverse_of: :user,
dependent: :destroy,
index_errors: false #note here
end
型
然而,它并没有像预期的那样工作,换句话说,错误仍然是这样的:
{"addresses_attributes[0].zip_code":[{"error":"blank"}]}
型
由于我覆盖了全局配置(或不覆盖),所以我希望这样:
{"addresses_attributes.zip_code":[{"error":"blank"}]}
型
似乎无法覆盖application.rb中的全局配置。有什么想法吗
1条答案
按热度按时间tzdcorbm1#
代码的编写方式在这里https://github.com/rails/rails/blob/95ad242c8066e71c403d53ea634f347e357473b1/activerecord/lib/active_record/autosave_association.rb#L331
它检查它们中的任何一个是否被设置为
true
以索引错误。换句话说,如果设置了全局配置,那么就没有办法为一次性模型关闭它。
更新:您可以通过执行以下操作来更新错误
字符串