我查看了Event#show。在此视图中,用户可以选择加入活动的人数并选择该术语。然后他可以点击"购买"这会将他重定向到Transaction#new。在这里,我想预先填写这两个值。
最好的方法是什么?我应该在哪里存储这些变量?
我在想:
<%= link_to new_transaction_path({ ..... })
...但我不知道如何将值传递给link_to参数。以下是我如何让用户选择人数:
<%= f.select(:seleced_seats, @event.seats, {}, { :class => 'form-control' }) %>
答案 0 :(得分:1)
我查看了Event#show。在此视图中,用户可以选择多少人 将加入活动并选择期限。然后他可以点击“购买” 这会将他重定向到Transaction#new。
因此,您可以创建一个表单,用户可以从中选择可以加入的人数和条款:
<%= form_tag("/transaction", method: "get") do %>
<%= label_tag(:people, "How Many People:") %>
<%= text_field_tag(:people) %>
<%= options_for_select([['terms 1', 1], ['terms 2', 2], ...]) %>
<%= submit_tag("Purchase") %>
<% end %>
因此,您收到了/transaction?people=3
之类的获取或发布请求
现在从params[:people]
,您可以访问下一个表单的信息,如下所示:
<%= form_tag("/transaction", method: "post") do %>
<%= label_tag(:people, "How Many People:") %>
<%= text_field_tag :people, params[:people], disabled: true %>
...
<%= submit_tag("Submit") %>
<% end %>