Ruby on Rails - 从输入框获取值并传递给另一个页面

时间:2011-03-25 08:22:13

标签: ruby-on-rails input-field

我必须将输入字段的值传递给另一个页面,然后将该值添加到数据库中。

代码看起来像这样

    .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的值提交到下一页,该值将传递给下一页:数量

2 个答案:

答案 0 :(得分: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变量从下一页的视图访问它。

答案 1 :(得分: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>