2011年10月19日水曜日

エンティティに存在しない「受諾」カラムを追加。

今日は「利用規約に同意する」の機能を追加。
new.html.erb  
<div class="field">
    <b>利用規約に同意する</b>(同意する場合チェック)。<br>
    <%= f.check_box :agreement %>
</div>


modelクラス
  validates :agreement,
    :acceptance =>true

実装完了。さてチェックをせずに登録ボタンを押す。
・01.Agreementがカラム名そのまんま
・02.受諾してください、とは強制しているようでイケてない。
 まずは02の方を訂正
ja.yml
  errors:
    format: "%{attribute}%{message}"

    messages: &errors_messages
      inclusion: "は一覧にありません。"
      exclusion: "は予約されています。"
      invalid: "は不正な値です。"
      confirmation: "が一致しません。"
      accepted: "を受諾してください"

      accepted: "を同意するにチェックがありません。"
しかしこの受諾検証のメッセージを変えてしまった事は、他の受諾検証もこれに倣う事になる。後々後悔しそうだが、ひとまずこれで。

さて試してみる。
メッセージが変化。あと一息。 
ja.yml
  activerecord:
    attributes:
     muser:
      USER_ID: "ユーザID"
      DISP_NAME: "表示名"
      agreement: "利用規約"

これは一瞬迷った。muserエンティティには存在しないカラムを、muserのカラム名定義部に入れていいのか、ということについてだが、他に方法も思いつかないのでコレで行く。
完成。意外とすんなり行った。
情報源は以下の書籍。






0 件のコメント:

コメントを投稿