So normally I use the date_select helper in my Rails applications in my Models’ forms, but in the most recent application I was building, I needed to specify individual css id’s for each drop down (month, day, year), and that isn’t possible with date_select. So instead, I’ve been using select_month, select_day, and select_year helpers. Here’s the problem: how do I get them to all describe one datetime record in my database?
(I’ve looked at this question by the way, but it looks pretty useless to me. Plus, I don’t want to do some hacky jQuery stuff handling this.)
Here’s what I have so far:
#default_time_for is just a helper method that returns the default time for the specified "period" of time (month,day,etc.)
<%= select_month(default_time_for(:month)) %>
<%= select_day(default_time_for(:day)) %>
<%= select_year(default_time_for(:year), {:start_year => Time.now.year-18, :end_year => 1930}) %>
I’d combine them on the server side:
You can still do mass-assignment, assuming that
dateis the field you want to assign to, you could do the following:Also make sure you’re familiar and mitigated against the security issued cased by Mass Assignment if you’re going to use the above code.