2017-01-13 6 views
0

Я пытаюсь присвоить значение 'starts_at Парам к @schedule_item переменной, используя следующий код:рельсы присвоить переменной значение Param

@schedule_item = ScheduleItem.new 
    @schedule_item.schedule = @schedule 

    if params[:starts_at].present? 
     @schedule_item.starts_at = params[:starts_at] 
    end 

Однако, когда я помещаю binding.pry после if, я вижу, что @ schedule_item.starts_at по-прежнему равен нулю. Я также знаю, что 'params [: starts_at]' returns => "01/17/2017 12:00 AM". Есть предположения?

+0

это белый список в вашем разрешенном Params? –

+0

yep: params.require (: schedule_item) .permit (: schedule_id,: starts_at,: ends_at,: page_id) – jj1111

+0

В bind.pry я даже пытаюсь [at] schedule_item.starts_at = 1, который возвращает 1, но когда я пытаюсь [at] schedule_item.inspect Я получаю: "# " – jj1111

ответ

0

Если вам нужно сохранить значение из параметра запроса в столбце временной метки в базе данных, вы можете сначала проанализировать его на значение времени.

foo = Time.parse("1989-02-14") 

Это вы должны получить значение времени, - но вы можете проверить это в диапазоне, который имеет смысл, прежде чем хранить его

Смежные вопросы