Daniel Lopes
2008-Dec-17 21:14 UTC
Strange behavior when override a default attribute, maybe a bug?
Hello, I have a strange behavior and don''t know why. If I override attributes from AcitveRecord object like below: def end_date=(date) date = date.to_date unless date.blank? write_attribute(:end_date,date) end def end_date date = read_attribute(:end_date) I18n.localize(date) if date.present? end Everything will work fine but when I try call text_field in a form_for block I get the database value and ignore end_date getter. <%= f.text_field :end_date, :class=>"date", :size=>"10" %> The text_field will be filled with 2008-12-10 (mysql date) instead of 10/12/2008 ( I18n localized) Anyone know why we get this behavior? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Daniel Lopes
2008-Dec-18 01:14 UTC
Re: Strange behavior when override a default attribute, maybe a bug?
Some idea? I still don''t understand why text_field load values from database instead of model.rb On Dec 17, 7:14 pm, Daniel Lopes <danielvlo...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hello, I have a strange behavior and don''t know why. > > If I override attributes from AcitveRecord object like below: > > def end_date=(date) > date = date.to_date unless date.blank? > write_attribute(:end_date,date) > end > > def end_date > date = read_attribute(:end_date) > I18n.localize(date) if date.present? > end > > Everything will work fine but when I try call text_field in a form_for > block I get the database value and ignore end_date getter. > > <%= f.text_field :end_date, :class=>"date", :size=>"10" %> > > The text_field will be filled with 2008-12-10 (mysql date) instead of > 10/12/2008 ( I18n localized) > > Anyone know why we get this behavior?--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Daniel Lopes
2008-Dec-18 01:50 UTC
Re: Strange behavior when override a default attribute, maybe a bug?
Sorry for duplicated threads, it was a mistake, I opened new one here http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/7e82b30f719ad1ac ... On Dec 17, 11:14 pm, Daniel Lopes <danielvlo...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Some idea? I still don''t understand why text_field load values from > database instead of model.rb > > On Dec 17, 7:14 pm, Daniel Lopes <danielvlo...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > Hello, I have a strange behavior and don''t know why. > > > If I override attributes from AcitveRecord object like below: > > > def end_date=(date) > > date = date.to_date unless date.blank? > > write_attribute(:end_date,date) > > end > > > def end_date > > date = read_attribute(:end_date) > > I18n.localize(date) if date.present? > > end > > > Everything will work fine but when I try call text_field in a form_for > > block I get the database value and ignore end_date getter. > > > <%= f.text_field :end_date, :class=>"date", :size=>"10" %> > > > The text_field will be filled with 2008-12-10 (mysql date) instead of > > 10/12/2008 ( I18n localized) > > > Anyone know why we get this behavior?--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---