Forum: Ruby on Rails Advice, why value_before_type_cast in FormHelper?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
866edcb271e88be4bfd935eea7947730?d=identicon&s=25 Bojan Mihelac (Guest)
on 2006-06-02 23:03
(Received via mailing list)
I am wondering why is in creating text fields with form_helper used
value_before_type_cast instead of attribute value for field value?

I set rails enviroment so date fields are in european format
(dd.mm.yyyy) and would like to have same format in forms, but because of
value_before_type_cast is called, form fields are filled with
'yyyy-mm-dd' or timestamp integer, etc.

Thoughts / comments / sugestions?
thanks in advance,

--
Bojan Mihelac
Informatika Mihelac, Bojan Mihelac s.p.  |  www.informatikamihelac.com
-> tools, scripts, tricks from our code lab: http://source.mihelac.org
866edcb271e88be4bfd935eea7947730?d=identicon&s=25 Bojan Mihelac (Guest)
on 2006-06-03 09:49
(Received via mailing list)
Bojan Mihelac wrote:
>
or is there any tutorial how to override fields produced with
FormHelper?

thanks,
Bojan

--
Bojan Mihelac
Informatika Mihelac, Bojan Mihelac s.p.  |  www.informatikamihelac.com
-> tools, scripts, tricks from our code lab: http://source.mihelac.org
6ef8cb7cd7cd58077f0b57e4fa49a969?d=identicon&s=25 Brian Hogan (Guest)
on 2006-06-04 09:12
(Received via mailing list)
I've asked this many times before and have never gotten an answer.

However, form fields will look at the attribute on the model if it's
not in the database.

Here's a simplified (non-working) example to modify the formatting of
the created_at field

class YourModel < ActiveRecord::base

   def formatted_date=(date)
     self.created_at = date
   end

   def formatted_date
      # apply your special formatting here
   end


end

Then, in your form, just do

<%= text_field "your_model", "formatted_date" %>

That's how I manage to do the special formatting that I need and still
make use of the helpers. I did write a plugin that allowed you to pass
a formatted string into the text_field helper, but I threw it away
because it was too difficult to make it work for select tags,
options_for_select, and others. I found the above approach to be a
decent solution.

If anyone from the core can comment on this, that would be great.

Hope that helps you out.
866edcb271e88be4bfd935eea7947730?d=identicon&s=25 Bojan Mihelac (Guest)
on 2006-06-05 10:07
(Received via mailing list)
Thanks Brian,
in the middtime I succeed to create custom date select field that works
with custom date format (dd.mm.yyyy). There were few new problems I run
into while solving these so I would post all the code and explanation on
my site asap.

best regards,
Bojan

Brian Hogan wrote:
>   def formatted_date=(date)
> Then, in your form, just do
> If anyone from the core can comment on this, that would be great.
>> > (dd.mm.yyyy) and would like to have same format in forms, but
>> thanks,
>>
> _______________________________________________
> Rails mailing list
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
>
>


--
Bojan Mihelac
Informatika Mihelac, Bojan Mihelac s.p.  |  www.informatikamihelac.com
-> tools, scripts, tricks from our code lab: http://source.mihelac.org
This topic is locked and can not be replied to.