用动态选择表单替换button_to

时间:2017-05-01 10:32:00

标签: ruby-on-rails form-for

我是完全初学的形式,只是试图驯服它但无望的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 %>

这很好用,问题是,它为每个产品创建了几个按钮。

enter image description here

我想要实现的只有一个按钮并选择,如下所示。我需要采取哪些方向动态传递此哈希值。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用select_tag并将其嵌套在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 %>

注意:上面的代码未经过测试,但它可以让您了解如何处理此问题。