Не могу найти решение для следующей проблемы:
У меня есть модель Medicine с атрибутом expiration_date типа Date. При попытке создать новую запись Medicine получаю следующую ошибку
ActiveModel::ForbiddenAttributesError
Request
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"5cxCW7RfAr/DrdWd/PfxN093Zj41KqlVBUWxyK2LZvE=",
"medicine"=>{"company"=>"Company",
"name"=>"Name",
"med_type"=>"Category",
"price"=>"100",
"batch"=>"AB12345",
"expiration_date(3i)"=>"20",
"expiration_date(2i)"=>"3",
"expiration_date(1i)"=>"2016",
"quantity"=>"10"},
"commit"=>"Сохранить"}
Как я понимаю, проблема в том, что хелпер date_select
<%= f.date_select :expiration_date , {:use_month_names => ['Январь', 'Февраль', 'Март','Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'], :order => [:day, :month, :year]}%>
разбивает дату на
"expiration_date(3i)"=>"20",
"expiration_date(2i)"=>"3",
"expiration_date(1i)"=>"2016"
и для strong params это не подходит.
def medicine_params
params.require(:medicine).permit(:company, :name, :med_type, :price, :batch, :quantity, :expiration_date)
end
Как правильно записать medicine_params в этом случае? Заранее спасибо!
P.S.
Я пробовал
params.require(:medicine).permit( :"expiration_date(1i)", :"expiration_date(2i)", :"expiration_date(3i)", :company, :name, :med_type, :price, :batch, :quantity)
ошибка остается.