2011-03-25 4 views
1

입력 필드 값을 데이터베이스에이 값을 추가 할 다른 페이지로 전달해야합니다. 내가 cart_box의 값을 원하는 "장바구니에 추가"버튼을 그것으로 다음 페이지에 제출하여야 누르면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) 

처럼 보이는,이 값은 다음에 전달됩니다 페이지로 : 수량

답변

3

먼저 입력 필드에 이름이 필요하므로 레일스에서이를 찾을 수 있고 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

안녕하세요 thnks

<div class="field"> <%= f.label :name, 'Project Name' %> <%= f.text_field :name, value: params[:project], required: true %> </div> 
내가 너무 COAD의 비트와 함께 그것을 설명 할 메신저로 대답을 게시, 그것을 읽고 몇 가지 해결책을 제안하십시오 .... –

+0

양식에 HTML을 포장하려고 [이 요지] (https://gist.github.com/886763)처럼. –

+0

양식에 대한 요지가 업데이트되었습니다 : https://gist.github.com/886777 –

0

나는 최근이 같은 질문을했다. 내가

이 정적 페이지입니다 홈 페이지에서 내 양식이다 (I 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 %> 

/새 페이지, 여기에 나는 사전 홈 페이지에 입력 필드에서 채운하는 데 필요한 양식의 일부 :

그러나 필자는 조금 proble있어 훌륭한 답변