2011-03-25 55 views
1

我必须将输入字段的值传递到另一个页面,在此页面将此值添加到数据库。Ruby on Rails - 从输入框中获取值并传递到另一页

的代码看起来像这样

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

回答

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变量是从下一个页面的视图访问。

+0

为伟大的答案然而香港专业教育学院有一个小proble喜thnks我想有点COAD的这么解释即时通讯将发布它作为答案,请阅读并提出一些解决方案.... – 2011-03-25 10:20:56

+0

尝试将您的HTML包装到表单中像[这个要点](https://gist.github.com/886763)。 – 2011-03-25 12:18:17

+0

更新要求的形式:https://gist.github.com/886777 – 2011-03-25 12:36:06

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 %> 

然后在我的/项目/新页面,这里是我需要从输入字段已预先填充了主页上的表单部分:

<div class="field"> 
    <%= f.label :name, 'Project Name' %> 
    <%= f.text_field :name, value: params[:project], required: true %> 
</div> 
相关问题