Dates and Times
Rails also provides support for basic date and time entry, as was shown in the form generated by the scaffolding. The scaffolding started out with:
<p> <b>Birthday</b><br /><%= f.date_select :birthday %>
</p> <p> <b>Favorite time</b><br /><%= f.datetime_select :favorite_time %>
</p>
And these generated the neat-looking but very inconvenient selection lists shown in Figure 6-5.
Figure 6-5. Rails default approach of using selection lists for dates and times
Besides the date_select
and
datetime_select
methods, Rails also
offers time_select
and has a variety of helper methods for individual pieces
of dates and times. Rails offers some options that can make these
interfaces more customizable, but picking days off a 31-item selection
list or minutes off a 60-item list is pretty much always going to be a
less-than-fun user experience. Youâll probably want to turn to more
attractive date and time interfaces from Ajax libraries or revert to
simple text boxes, but in case you have an application where you want to
use these methods, the options for them include:
:start_year
By default, Rails sets the start year to five years before the current date. You can specify an earlier (or later) date if you need to, by specifying
:start_year =>
value
.:end_year
Rails also sets the end year to five years after the current date. Again, you can specify a later (or earlier) date by specifying ...
Get Learning Rails now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.