gpt4 book ai didi

ruby-on-rails - 保存记录多次不同的参数 Rails

转载 作者:太空宇宙 更新时间:2023-11-03 16:21:25 24 4
gpt4 key购买 nike

我有一个带有 product_id 外键的订单模型,用户可以在单个表单上指定 delivery_day

如果用户选择MondayFrid​​ay,我想保存两条具有不同delivery_day属性但相同的订单记录product_id

controllers/orders_controller.rb

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

views/orders/_form.html.erb

<%= 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 ),因为我只是尝试使用不同的 delivery_day 参数创建多个 order 记录。

最佳答案

使用循环将日期名称显示为复选框

<% Date::DAYNAMES.each do |day| %>

<div class="field">
<%= label_tag "<%= day %>" %><br>
<%= check_box_tag "delivary_days[]" %>
</div>

<% end %>

现在,从您的 Controller 接收选定的日期名称作为 params[:delivary_days],然后相应地操作结果。

在你的 Controller 中:

params[:delivary_days].each do |day|
Order.create(other_parameters, :delivery_day => day)
end

我建议你去 check_box_tag 必要的选项。

关于ruby-on-rails - 保存记录多次不同的参数 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32534531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com