Rails勉強会@東京 第6回 初参加
http://wiki.fdiary.net/rails/?RailsMeetingTokyo-0006
OSCのときのRubyセッションで紹介されていて参加したいとは思いつつもタイミング合わず今回初めて参加できた。
楽しかったです:-)
参加セッションは前半が「Typoの改造」、後半が「Validation」
Typoの改造
国際化についての話題が中心となった。
GNU gettextと同じフォーマット、似たような使い方だがGNU gettextに依存はしないので使いやすいよう。
詳しくは検証後、後日
自分用参考リンク
Validation
- 標準のValidationの説明
- 標準以外のValidationを行いたい場合の実装方法
APIリファレンスを元に一通りなめつつ、場合によってはソースに当たったりという感じ
その中でもポイントになりそうなのは、
- validates_length_of (validates_size_of)
- validates_numericality_of
- デフォルトでは浮動小数点
- オプションの :only_integer => true で整数
- nan も通る?(未検証)
- でも、仕様をかためてvalidates_format_ofとかvalidates_inclusion_ofを使うべきか
- validates_uniqueness_of
- dbへアクセスしてユニークな値であることを検証
- 確かにdbへアクセスしないとユニークであることを保証するのは厳しいけど....違和感があるのは自分だけじゃなかった:-)
- dbへアクセスしてユニークな値であることを検証
- validates_each
- ブロックを使用して検証
validates_each :hoge do |record, attr, value| if value..... record.errors.add(attr, "#{value}") end end
memo
- validationのメッセージは「〜がおかしい」ではなく「〜してくれ」という文言にするのが良い
- inclusion_ofでは allow_nil => true で、presence_ofも使うことでメッセージをきれいに制御できる