用动态 Select 形式替换 button_to
Replacing button_to with dynamic Select form
我完全是表格的初学者,只是想驯服它但没有希望的 atm。
我有以下 button_to 设置:
<% @product.variants.each do |variant| %>
<div><%= variant.asin %></div>
<div><%= variant.price %></div>
<div><%= button_to "Add to cart", shopping_cart_path(:variant_id => variant) %></div>
<% end %>
这很好用,问题是它为每个产品创建了几个按钮。
我想实现的是只有一个按钮和select,如下图。我需要遵循哪些方向才能动态传递此哈希值。
您可以使用 select_tag and use it nested inside a form_tag。您将有一个 form
,其中包含一个 select
标签。
您的代码应与此类似:
<%= form_tag shopping_cart_path do %>
<%= select_tag('variant', options_from_collection_for_select(@product.variants, "id", "asin")) %>
<%= submit_tag "Create" %>
<% end %>
注意:上面的代码未经测试,但它应该让您了解应该如何处理这个问题。
我完全是表格的初学者,只是想驯服它但没有希望的 atm。
我有以下 button_to 设置:
<% @product.variants.each do |variant| %>
<div><%= variant.asin %></div>
<div><%= variant.price %></div>
<div><%= button_to "Add to cart", shopping_cart_path(:variant_id => variant) %></div>
<% end %>
这很好用,问题是它为每个产品创建了几个按钮。
我想实现的是只有一个按钮和select,如下图。我需要遵循哪些方向才能动态传递此哈希值。
您可以使用 select_tag and use it nested inside a form_tag。您将有一个 form
,其中包含一个 select
标签。
您的代码应与此类似:
<%= form_tag shopping_cart_path do %>
<%= select_tag('variant', options_from_collection_for_select(@product.variants, "id", "asin")) %>
<%= submit_tag "Create" %>
<% end %>
注意:上面的代码未经测试,但它应该让您了解应该如何处理这个问题。