date_select -> params ok but nil

hi,

im kinda stuck…

<%= form_for(@event) do |f| %>

<%= f.label :from_date %>

<%= date_select :event, :from_date %>

def create

p params[:event].nil?

p params[:event][:name]

p params[:event][:from_date]

if params[:event][:from_date].empty?

params[:event][:from_date] = Date.today

end

–>

Started POST “/events” for 127.0.0.1 at 2014-11-19 17:37:09 -0500

Processing by EventsController#create as HTML

Parameters: {“utf8”=>“✓”, “authenticity_token”=>“JannWb1XCE12AKW4KlR56LAAmIOG1raHJh1ss4v0RBA=”, “event”=>{“name”=>"", “from_date(1i)”=>“2014”, “from_date(2i)”=>“11”, “from_date(3i)”=>“19”, “to_date(1i)”=>“2014”, “to_date(2i)”=>“11”, “to_date(3i)”=>“19”}, “commit”=>“Create”}

…def instantiate_controller_and_action_names"

“URL: http://localhost:3000/events

“Fullpath: /events”

“events”

“Action: create”

“Controller: events”

false

“”

nil

–> why are my event date attributes nil/blank?

tia

tom

What makes you think they are? The parameters are there.

What version of Ruby/Rails are you running?

hi

because of this:

def create

p params[:event].nil?

p params[:event][:name]

p params[:event][:from_date]

results in:

false

“”

nil

ENV

/ruby-1.9.3-p194@my_gemset

first i thought it has something to do with gem decent_exposure, but i have disabled that again…

On Thu, Nov 20, 2014 at 6:40 AM, tom <tomabr

--> why are my event date attributes nil/blank?

i dont see "from_date".

"from_date(1i)" not same as "from_date"

kind regards -botp

because of this:

p params[:event].nil?
....

p params.inspect would be more generally useful...

ENV
/ruby-1.9.3-p194@my_gemset

What version of Ruby/Rails are you running?

Again, what version of Rails?

And is there a reason to be using such an old Ruby?

You’re using the f.label and date_select helpers. Try using f.date_select ?

–> why are my event date attributes nil/blank?

The date is not sent as a single attribute, but rather one per dropdown that date_select sends (thus from_date(1i) etc).

When those attributes are assigned to your model, they are combined into a single object by ActiveRecord.

You can either check for the subparts explicitly, or move the “default to today” behavior to the model instead.

–Matt Jones

hi

thx for all.

the reason why i asked is because some code i have used from the internet was checking: params[:event][:from_date].empty? , but mine was always nil (as above). after assigning the params to a new model and checking then fixed it for me.