0

Sequel::Model でプラグイン :validation_helpers を使用しています。

class User < Sequel::Model
  plugin :validation_helpers

  def validate
     super
     validates_presence [:name, :mail]
  end
end

バリデーションエラーを表示すると、「存在しません」という英語のメッセージが書かれていますが、メッセージを他の言語にローカライズしたいと考えています。これは可能ですか?

4

1 に答える 1

1

これは Rails アプリケーションですか? はいの場合、Sequel のプラグインで使用されるメッセージを変更できますValidationHelpers。そのためには、次のようにする必要があります。

次のロケール ファイルがあるとします。

en:
  errors:
    exact_length: "is not %{exact} characters"

ローカライズされたメッセージを次のように定義できます。

Sequel::Plugins::ValidationHelpers::DEFAULT_OPTIONS.merge!(
  :exact_length=> {
    :message=> lambda { |exact| I18n.t("errors.exact_length", :exact => exact)}
  }
)

詳細については、公式ドキュメントを参照してください。

http://sequel.rubyforge.org/rdoc-plugins/classes/Sequel/Plugins/ValidationHelpers.html

于 2013-02-13T22:11:14.613 に答える