I have a class called Duration that represents a unit of time. It has
lots
of time-related methods and an attribute that represents the duration in
seconds.
I want to store it in my db. I had a column type of NUMERIC, so if i
save
it, rails trys to coerce it to a float automagically and fails.
I need to display it and store it as a number but treat it in the middle
layer as a Duration so I can use all it’s wonderful functionality.
What’s
the right way to do this?
thanks.
Hello Larry,
2006/3/18, Larry W. [email protected]:
I need to display it and store it as a number but treat it in the middle
layer as a Duration so I can use all it’s wonderful functionality. What’s
the right way to do this?
You want to use composed_of
class UserOfDuration < ActiveRecord::Base
composed_of :project_length, :class_name => ‘Duration’, :mappings =>
%w(duration_in_seconds duration)
end
http://api.rubyonrails.com/classes/ActiveRecord/Aggregations/ClassMethods.html#M000692
Hope that helps !