使用simple_form更改默认错误消息

vda*_*bry 6 ruby-on-rails simple-form

我无法从简单的表单更改默认错误消息,我试图编辑简单的表单区域设置文件,但它似乎被忽略

这是我的语言环境文件:

#config/locales/simple_form.en.yml
en:
  simple_form:
    error_notification:
      default_message: "A custom message:"
Run Code Online (Sandbox Code Playgroud)

但我仍然得到"请回顾下面的问题:"

有谁知道我做错了什么?

swi*_*osz 1

将您的更改:default_message:your_model_name

正如您在源代码中看到的,error_notification该方法用于translate_error_notification从 YAML 文件获取翻译。

def translate_error_notification
  lookups = []
  lookups << :"#{object_name}"
  lookups << :default_message
  lookups << "Please review the problems below:"
  I18n.t(lookups.shift, scope: :"simple_form.error_notification", default: lookups)
end
Run Code Online (Sandbox Code Playgroud)

对于user模型lookups包含:

lookups == [:user, :default_messge, "Please review the problems below:] 
Run Code Online (Sandbox Code Playgroud)

每个对象的翻译可能不同,因此调用此事务:

#config/locales/simple_form.en.yml
en:
  simple_form:
    error_notification:
      user: "A custom message:"
Run Code Online (Sandbox Code Playgroud)

如果有帮助就投票吧;)