2011-03-25 54 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> 
相關問題