【发布时间】:2019-01-30 14:47:58
【问题描述】:
在我的在线商店中,我想在将产品添加到购物车之前进行验证
我的 order_item 表格在产品展示中
我想强制用户选择尺寸,如果没有选择尺寸,则显示错误消息?
尺寸是产品的嵌套属性
我应该怎么写?
<%= form_tag clients_order_items_path, input_html: {id: "orderform"} do %>
<%= hidden_field_tag :product_id, @product.id %>
<%= hidden_field_tag :user_id, @token %>
<%= hidden_field_tag :quantity, 1 %>
<%= select_tag :size_id, options_from_collection_for_select(@product.sizes.where('quantity >=1'), :id, :size_name), prompt: "Your Size", class: 'form-control custom-select'%>
<%= submit_tag "Add to cart", class: "btn-main", id: "add_to_cart" %>
这里是带有 create 方法的 OrderItemsController:
def create
@item = current_cart
@size = Size.find(params[:size_id])
if @size.quantity >= params[:quantity].to_i
current_cart.add_item(
product_id: params[:product_id],
quantity: params[:quantity],
size_id: params[:size_id],
)
redirect_to clients_cart_path
else
redirect_to clients_product_path(Product.find(params[:product_id]))
end
end
【问题讨论】:
标签: ruby-on-rails ruby forms