如果选中该复选框,我该怎么做才能存储我的信息
<% @extra.each do |extra| %>
<%= f.fields_for :purchaseds do |builder| %>
<div class="label-field">
<%= builder.label :name, extra.name %>
<p><%= extra.description %></p>
</div>
<div class="text-field">
$<%= extra.price %>
<%= builder.check_box :purchased %>
</div>
#I WOULD LIKE THIS TO ONLY GET SAVED IF THE CHECK BOX FOR PURCHASED IS CHECKED
<%= builder.hidden_field :name, :value => extra.name %>
<%= builder.hidden_field :description, :value => extra.description %>
<%= builder.hidden_field :price, :value => extra.price %>
<% end %>
<% end %>
我的客户要求能够自己添加额外的服务,然后用户可以选择是否想要购买它们作为订单的附件。所以我做的是我创建了一个名为Extra(用于额外服务)的表和另一个名为Purchased的表。购买属于Order,是一个嵌套属性。
答案 0 :(得分:0)
两种方式。我会给你高级别的,但如果你想扩展,请告诉我!
选项1
向表单构建器添加提交按钮,并将复选框数据也发送到控制器。在那里,检查它是否设置为true。如果是这样,请保存数据。如果没有,请不要保存。
选项2
添加一个jQuery函数,当复选框设置为true时,它会向控制器发出AJAX请求以保存数据。
这取决于您希望用户如何使用此表单。