2011-10-12 20 views
12

:presence => true検証に失敗した場合、Railsのデフォルトcan't be blankエラーメッセージにアクセスするためのAPIは何ですか?Railsの「空ではありません」というエラーメッセージにアクセスするには?

私はこのようなモデルの設定があります:あなたは、標準的なYAMLの翻訳を使用ししていると仮定し

class TextDocument < Document 
    validate :content_not_blank # 'content' is an attribute 

    private 
    def content_not_blank 
     if content.blank? 
     errors.add(:content, ....?) # I want to access 'can't be blank' 
     end 
    end 
end 

答えて

21

I18n.t('errors.messages.blank')

何をしたいあなたを与える必要があります。

+0

どのようにこのデフォルトのメッセージを翻訳しますか?私は多くのデフォルトのメッセージがあることを意味し、私はそれらのための元ru.ymlのために作成したい – yerassyl

20

を、あなたはそれを上書きするにはActiveModel

にファイルを見つけることができ、あなたの中に、ファイルをドロップしたいですconfig/localesフォルダ、例えば:あなたはこのようなデフォルトの方法でそれを行うだけでできる

en: 
    errors: 
    messages: 
     blank: "can't be whatever your custom message" 
0

validates_presence_of(:content) 

セットアップあなたのconfig /ロケール/ ..ymlファイル

を場合、あなたが本当にあなた自身のバリ

を書きたい場合、これは現在のローカルで適切なメッセージを(空白にすることはできません)(が生成されます
errors.add(:content, I18n.translate(:blank)) 
関連する問題