1

我必须将输入字段的值传递到另一个页面,它会将这个值添加到数据库中。

代码看起来像这样

    .shoping_cart_col2
      %input.cart_box{:type => "text", :value => "1"}/
    .shoping_cart_col3 
      = button_to "Add To Cart" , line_items_path(:product_id => @prod)

当我按下“添加到购物车”按钮时,我希望将 cart_box 的值与它一起提交到下一页,该值将作为 :quantity 传递到下一页

4

2 回答 2

3

首先,您需要输入字段的名称,以便 Rails 可以找到它并传递给params哈希。

.shoping_cart_col2
  %input.cart_box{:name => 'item_amount', :type => "text", :value => "1"}

从现在开始,在您的控制器中,您可以通过以下方式获得此值:

# Somewhere in ItemLinesController
def some_action
  ...
  @quantity = params[:item_amount].nil? ? 1 : params[:item_amount]
  ...
end

@quantity现在它应该可以通过变量从下一页的视图中访问。

于 2011-03-25T08:33:31.353 回答
0

我最近也有同样的问题。这是我解决它的方法(我使用的是 Rails 5)

这是我在主页上的表单,它是一个静态页面:

<%= form_tag(new_project_path, method: :get) do %>
  <%= text_field_tag :project, params[:name], placeholder: "project name", class: "project-start" %>
  <%= submit_tag "Submit" %>
<% end %>

然后在我的 /projects/new 页面上,这是我需要从主页上的输入字段中预先填充的表单部分:

<div class="field">
  <%= f.label :name, 'Project Name' %>
  <%= f.text_field :name, value: params[:project], required: true %>
</div>
于 2016-07-04T03:37:48.757 回答