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.
Bojan M. (Guest)
on 2006-06-03 01: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 M.
Informatika Mihelac, Bojan M. s.p.  |  www.informatikamihelac.com
-> tools, scripts, tricks from our code lab: http://source.mihelac.org
Bojan M. (Guest)
on 2006-06-03 11:49
(Received via mailing list)
Bojan M. wrote:
>
or is there any tutorial how to override fields produced with
FormHelper?

thanks,
Bojan

--
Bojan M.
Informatika Mihelac, Bojan M. s.p.  |  www.informatikamihelac.com
-> tools, scripts, tricks from our code lab: http://source.mihelac.org
Brian H. (Guest)
on 2006-06-04 11: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.
Bojan M. (Guest)
on 2006-06-05 12: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 H. 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
> removed_email_address@domain.invalid
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
>
>


--
Bojan M.
Informatika Mihelac, Bojan M. 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.