我有一个带有product_id
外键的订单模型,用户可以delivery_day
在一个表格上指定。
如果用户选择Monday
和Friday
,我想保存两个具有不同delivery_day
属性但相同的订单记录product_id
。
def new
@product = Product.find(params[:product])
@day = params[:day]
@order = Order.new(:user_id => current_user.id, :product_id => @product.id, :delivery_day => @day)
end
def create
@order = Order.new(order_params)
if @order.save
redirect_to @order, notice: 'Order was successfully created.'
else
render :new
end
end
<%= form_for(@order) do |f| %>
<div class="field">
<%= f.label :user_id %><br>
<%= f.number_field :user_id %>
</div>
<div class="field">
<%= f.label :product_id %><br>
<%= f.time_select :product_id %>
</div>
<div class="field">
<%= f.label :delivery_day %><br>
<%= f.check_box :delivery_day %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我环顾四周,但找不到答案。不知道嵌套的关联是否过大(例如coccoon),因为我只是尝试创建多个order
具有不同delivery_day
参数的记录。
使用循环将日期名称显示为复选框
<% Date::DAYNAMES.each do |day| %>
<div class="field">
<%= label_tag "<%= day %>" %><br>
<%= check_box_tag "delivary_days[]" %>
</div>
<% end %>
现在,从您的控制器以接收选定的日期名称params[:delivary_days]
,然后相应地处理结果。
在您的控制器中:
params[:delivary_days].each do |day|
Order.create(other_parameters, :delivery_day => day)
end
我建议您转到check_box_tag以获取必要的选项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句