Rails翻译自定义基础错误

8

我的模型:

产品has_many变体has_many尺寸

我可以像这样为尺寸添加自定义错误:

errors.add :base, "My custom error msg"

在我的视图中,我看到:“尺寸基础我的自定义错误消息”。
class Size < ActiveRecord::Base
  ...
  validate :custom_error, only: :update
  ...
  def custom_error
    errors.add :base, "My custom error msg"
  end
end

但是如何翻译这个信息? 更新 我已经找到了解决办法:
在locale.yml文件中:
attributes:
  variants/sizes:
    base: ''

1
你能展示更多的代码,说明你是如何/在哪里添加这个错误的吗? - Dylan Markow
1个回答

17

尝试:

errors.add :base, :custom_error

这应该会给你一个翻译缺失,以及键名和存储此翻译的范围。

更新:

我自己刚刚完成了它:

translation missing: [locale].activerecord.errors.models.[model_name].attributes.base.custom_error

1
谢谢!它对消息的第二部分起作用了,但是如何翻译第一部分 Sizes base 我的自定义错误消息? - zolter
你的模型是否定义了 base 属性?在 :base 上不应该有错误前缀。 - BroiSatse
我没有“base”属性。 - zolter
你正在使用哪个版本的Rails? - BroiSatse
谢谢!我更新了我的问题并添加了答案。 - zolter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接