错误消息应与标签匹配

时间:2013-01-28 18:49:51

标签: ruby-on-rails ruby simple-form

我有一张表格。许多标签需要的名称与模型中的名称不同。

attr_accessible :pin

Simpleform视图:

= f.input :pin, :label => "Secret Code"

验证失败时,错误使用字段的模型名称(“Pin”),而不是我在视图中设置的标签(“密码”)。用户将对哪个字段存在错误感到困惑。

目前我有一个更改标签的助手:

def fix_pin_errors(msg)
  msg.gsub!('Pin', 'Secret Code')
end

但是,如果我在很多领域都这样做,那就变得单调乏味,而不是干。

错误匹配与模型提供的名称不同的标签的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

I18n是你的朋友。阅读this guide。它将解释如何全局转换这些内容,以便随时随地获取它们。

对于您的示例,它可能看起来像这样:

en.yml

en:
  activerecord:
    attributes:
      your_model_name:
        pin: 'Secret Code'