Set date with date_select

when retreiving a date from a DATETIME field in a database, is there a
way to set the date to the value of the DB in the view? It seems to
always default to the current date…

if I have a field called birthdate in the users table and i do

@user = User.find(@params[:id])

in my view i have a <%= date_select ‘birthdate’,‘user’ %>

but dont know how to set a value for date_select that isnt the current
date.

Any ideas ?

thanks
adam

sorry your right,i typed it wrong in the email, its correct in my
view. However i still dont know how to populate the ‘default’ values
of the month/day/year. it always defaults to the current date. How
do i set the birthdate(1i) pieces of the object so that the form has
the values from the DB and not the current date?

thanks
adam

On 1/6/06, Adam D. [email protected] wrote:

but dont know how to set a value for date_select that isnt the current date.

You’ve got the parameters reversed; the ActiveRecord instance comes
first:
http://api.rubyonrails.com/classes/ActionView/Helpers/DateHelper.html#M000381

Also, if you need the TIME part of the DATETIME column, you may want
datetime_select instead.

Adam:
On Jan 6, 2006, at 8:36 PM, Adam D. wrote:

but dont know how to set a value for date_select that isnt the
current date.

[untested]
date_select “birthday”, “user”, :start_year =>
user.birthday.year, :start_month => user.birthday.mon, :start_day =>
user.birthday.day

Cheers,
Hasan D. [email protected]

date_select should be handling that for you, assuming:

  1. You call it <%= date_select ‘user’, ‘birthdate’ %>
  2. @user is an instance variable that has been set.
  3. @user.respond_to?(:birthdate)
  4. @user.birthdate returns a Date.

Make sure all four of those things are true, and you should be OK.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs