ActiveRecordのおせっかい
>> u1 = User.new => #<User:0x50c25ec @new_record=true, @attributes={"ref_across"=>nil, "updated_at"=>nil, "upduser"=>nil, "insuser"=>nil, "contractor_id"=>nil, "telno"=>nil, "userid"=>nil, "logged_ in_at"=>nil, "user_role_id"=>nil, "usrname"=>nil, "email"=>nil, "created_at"=>nil}> >> u1.updated_at = 'xxxx' => "xxxx" >> u1 => #<User:0x50c25ec @new_record=true, @attributes={"ref_across"=>nil, "updated_at"=>"xxxx", "upduser"=>nil, "insuser"=>nil, "contractor_id"=>nil, "telno"=>nil, "userid"=>nil, "logg ed_in_at"=>nil, "user_role_id"=>nil, "usrname"=>nil, "email"=>nil, "created_at"=>nil}> >> u1.updated_at => nil >> u1.updated_at = '2007/09/20 20:30' => "2007/09/20 20:30" >> u1.updated_at => Thu Sep 20 20:30:00 +0900 2007 >> u1.updated_at.class => Time
ActiveRecordの時刻のカラムは、メソッドで取得するときに自動的にTimeに直そうとするっぽい。形式チェックのvalidationをしたいときはどないすればいいんじゃー!
Answer: read_attribute_before_type_cast を使えばいい