简体   繁体   中英

Rails — Can't set value for date_select in form

I'm pulling data from an API where the date data comes in as "2008-02-11 00:00:00 "

I would like that data to go into my form within the date_select as a value so I can view it correctly before I add it into my database.

The view looks like

<%= f.label :start_date %><br />
<%= f.date_select :start_date, :value => " #{@stdate[idx]} " %>

The object is actually an array of dates since I'm doing this action several times do thats why the [idx] is there; serving as an index.

<%= @stdate[idx] %> ends up outputting "2008-02-11 00:00:00 " but the fields for the date_select helper only outputs the current date "2010" "June" "5" in those dropdown date selects fields...

Do I need to set the values of the Year, Month, and Date Individually? I have Chronic and tried to parse the object before using it as a value for the date_select and that didnt work either.

Any ideas?

您不会使用:value选项,而是使用:default选项并将DateTime对象传递给它。

There is no :value option for date_select . In your example, the value of the dropdowns will be obtained from the start_date attribute of whatever object you passed in when you started the form builder f .

On this object, you can simply set the start_date attribute before rendering, even if you're not actually saving it there.

There's also a select_date helper, which is the variant that is not linked to an object, and just allows you to pass a value. But that requires more manual labor, because it doesn't work out of the box with update_attributes .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM