У меня есть строковое поле в моем DatabseСохранить рельсы time_select как строка
class CreateMHolidays < ActiveRecord::Migration
def change
create_table :m_holidays do |t|
t.string :open_schedule, :limit => 50
end
end
end
Я использую time_select
, чтобы получить значение для open_schedule
поля.
<%= f.time_select :open_schedule, {minute_step: 01, include_blank: true,:default =>{:hour => '00', :minute => '00'},:ignore_date => true}, {:class => 'form-control'} %>
В моем контроллере я стараюсь
@m_holidays = MHoliday.new(m_holiday_params)
@open_schedule_hrs = (params[:m_holidays]['open_schedule(4i)']).to_s
@open_schedule_mns = (params[:m_holidays]['open_schedule(5i)']).to_s
@m_holidays.open_schedule = @open_schedule_hrs + ':' + @open_schedule_mns
Но когда я пытаюсь сохранить запись я получаю
ActiveRecord :: MultiparameterAssignmentErrors (1 ошибка (ы) о назначении из многопараметрические атрибуты [ошибка при присвоении [3, 3] - open_schedule (отсутствующий параметр - open_schedule (1))])
Это первый раз, когда я использую time_select
, и я должен использовать его с полем строки, а не :time
. Как это сделать? Любая помощь очень ценится
Спасибо за ответ. Я не понял, что именно подразумевал u, «отфильтровывая все, что связано с входом' open_schedule' из 'm_holiday_params'. не могли бы вы рассказать? –
Ну, мои параметры 'm_holiday' -' params.require (: m_holiday) .permit (: open_schedule, ...) ' –
Удаление': open_schedule' должно это сделать. – cobaltsoda