Я перебираю массив дней недели (sun-mon). Я хотел бы, чтобы сэкономить время на каждый день в отдельном массиве называется delivery_times
:Хранение Time_Select в Array Rails
просмотров/заказы/_form.html.erb
<% Date::DAYNAMES.each_with_index do |day, index| %>
<div class="field">
<%= day %><br>
<%= check_box_tag "delivery_days[]", index %>
</div>
<div class="field">
<%= f.label :time %><br>
<%= f.time_select :time, "delivery_times[]" => :time %>
</div>
<% end %>
Контроллер
def create
@times = params[:delivery_times]
params[:delivery_days].each do |day, time|
@order = Order.create(order_params.merge({:day => day}, {:time => @times[index]}))
end
redirect_to @order, notice: 'Order was successfully created.'
end
В настоящее время delivery_days
сохраняется правильно , но delivery_times
не сохраняет время. Я пробовал найти time_select_tag
, но его не существует. Как сохранить время в массиве?
ли вы имеете в виду, что это не сохраняются в базе данных? Вы используете рельсы 4? Можете ли вы показать нам соответствующий код в вашем контроллере? Возможно, атрибут там не разрешен. – panmari
@panmari Просто добавил контроллер. 'params [: delivery_times]' не возвращает массив с данными. И да, используя рельсы 4 – Onichan
Можете ли вы показать нам консоль рельсов, каковы параметры, которые достигают вашего сервера? Также было бы интересно увидеть метод 'order_params' от нижней части вашего контроллера (сильные параметры google в рельсах, если вы не знаете, что делает этот метод). – panmari