モデルに、テキストとして保存されているが有理数として解釈される属性があります。私はそれを処理するためにこのメソッドを持っています:
def start
read_attribute(:start).to_r
end
start
属性を新しい値に設定すると、start_was
ヘルパーメソッドは有理数ではなく文字列を返しますが、その前に正しい値を返します。なんで?
Loading development environment (Rails 3.2.8)
1.9.3p194 :001 > d = Day.find(55)
Day Load (8.7ms) SELECT "days".* FROM "days" WHERE "days"."id" = ? LIMIT 1 [["id", 55]]
=> #<Day id: 55, date: "2012-03-30", start: "1/2", finish: "2/2", created_at: "2012-09-18 15:16:42", updated_at: "2012-09-19 08:20:41", day_year_id: 1>
1.9.3p194 :002 > d.start_was
=> (1/2)
1.9.3p194 :003 > d.start=0
=> 0
1.9.3p194 :004 > d.start_was
=> "1/2"