编辑简单形式的语言环境以启用自定义错误消息

Editing simpleform locales to enable custom error messages

我的应用程序中有一个使用 simple_form 构建的表单。我想做的是将我的错误消息编辑为与默认消息略有不同的内容。我正在处理我的 simple_form.en.yml 文件,我认为这可能是我遇到问题的地方。

根据我所拥有的,我不确定我是否理解设置文件中的确切内容,我希望有人可以检查我所拥有的并建议我去哪里。

我的模型是这样的(这是我的整个模型)

class FormSubmission < ActiveRecord::Base
  after_create :email_sales

  validates :first_name, :last_name, :organization, :email, :phone, :recognition, :inquiry, presence: true

  private

  def email_sales
    FormSubmissionMailer.update_sales(self).deliver_now
  end
end

这是我的观点之一

= simple_form_for @form_submission do |f|

  .fieldSet.span8
    .field.reco
      = f.input :first_name, input_html: { class: "formStyling" }, label: "First name", required: false

最后,在我的 simple_form.en.yml 文件中我有这个

en:
  activerecord:
    errors:
      models:
        formsubmission:
          attributes:
            email:
              blank: "cannot be empty"

Simple_form 对验证错误消息 I18n 没有做任何特别的事情,并将所有工作留给默认的 Rails I18n 处理。 simple_form.en.yml 本地化文件仅处理 显示表单 及其元素(标签、提示等,参见 docs)的各种选项,没有任何内容与错误消息有关。

因此,如果您需要设置 错误消息 本地化,请查看 official Rails guide on I18n。实际上,我认为您的 simple_form.en.yml 示例可能有效,如果您将错误消息本地化移动到英语的默认 Rails 语言环境文件:config/locales/en.yml.