[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 属性値に何らかの手を加えてから格納したいときがある。 たとえば、名前関係のフィールドで「フリガナ」フィールドに全角カタカナだけを入力させたい。 正規表現でそれ以外をキックするのはいいけど、 ひらがなや半角カタカナは自動変換できるから自動変換したいと。 方法はいくつかある。 一般的にはフィールド格納をオーバーライドする方法 もう一つはvalidateをオーバーライドしてそこで何とかする方法 今回はまったのは属性代入をオーバーライドする方法。 ActiveRecordを継承したNameクラスにkanaフィールドがあったとする。 普通のRubyクラスなら class Name def kana=(str) @kana = NKF.nkf('--katakana', str) end e