Tag: Rails3/検証

目次

参考情報

コントローラーだけで検証できるの?

エラーメッセージのカスタマイズ

  • ページトップに表示するメッセージは#error_explanation、フィールドごとのエラーは.field_with_errorsでカスタマイズできる。
  • twitter-bootstrap-railsを使っている場合、例えば、custom.css.scssというファイルを以下の内容で作るとそれっぽく表示される。
    @import "bootstrap_and_overrides";
    
    #error_explanation {
      @extend .alert;
      @extend .alert-error;
      @extend .alert-block;
    }
    
    .field_with_errors {
      @extend .control-group.error;
    }
    

blankとnilの取り扱い

  • select_tagなどで:include_blankを指定し、これを選択した場合、パラメータとしてブランク("")が渡ってくる。
  • データベースにはblankではなくnilを保存したい場合結構やっかいっぽい。ruby on rails - Make blank params[] nil - Stack Overflowのように、before_saveなどのフィルタを使って無理やり変換する方法はあるけど、多数保存するときに問題になるかも。
  • さらにbefore_saveはvalidationの後で呼ばれるので、そのままだと、allow_nilを指定していても、nilじゃないのでエラーになってしまう。この場合、before_validationで""をnilに変換しないといけない。
  • DBに""を保存してもいいという前提にして、allow_nilじゃなく、allow_blankを指定するのが簡単なのかも…。allow_nilの代わりにallow_blankを使えばいいよ | ひげろぐ

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-13 (水) 16:47:35