2017-12-04 23 views
-1

안녕하세요. 양식을 제출할 때 객체와 함께 2 개의 입력 필드를 어떻게 연결할 수 있는지 궁금합니다.Ruby on Rails : 양식을 제출할 때 두 입력 필드와 개체를 함께 연결하는 방법

현재 나는 많은 식품 품목이 들어있는 음식 메뉴가 있습니다. 메뉴의 각 항목에 대해 두 개의 입력 필드가 링크되어 있어야합니다. 항목을 선택하는 확인란과 필요한 항목의 수량을 입력하는 숫자 필드.

제출을 클릭하면 전송 된 컨트롤러에서 선택한 항목에 액세스 할 수 있고 각 항목을 지정된보기에 표시 할 수 있습니다.

하나의 항목 만 수량을 보낼 수있었습니다. 그러나 많은 식품 항목에 대해 수량을 입력하면 매개 변수의 결과 해시가 비어 있습니다.

내가 선택한 항목 + 제출을 클릭하면 매개 변수에 키 - 값 쌍으로 입력 된 수량을 보낼 수있는 방법이 있습니까?

편집 (1) : -

나는 현재 키 - 값 쌍으로 식품을 보낼 수 있어요하지만 난 단지 체크 박스가 체크되어 어디 사람들을 보내드립니다.

Selecting food items and entering quantities

Resulting parameters: {"1"=>{"quantity"=>"2"}, "2"=>{"quantity"=>""}, "3"=>{"quantity"=>"1"}, "4"=>{"quantity"=>""}, "5"=>{"quantity"=>""}, "6"=>{"quantity"=>""}, "7"=>{"quantity"=>""}, "8"=>{"quantity"=>""}, "9"=>{"quantity"=>""}, "10"=>{"quantity"=>""}, "11"=>{"quantity"=>""}, "12"=>{"quantity"=>""}}

코드 :

<h2><u>Appetizers: -</u></h2> 
<form action="/order/create" method="post"> 

    <input type="hidden" value="<%= form_authenticity_token %>" name="authenticity_token"> 

    <% @food.where(course: 'appetizer').each do |appetizer| %> 
     <ul> 
      <li> 
       <%= appetizer.name %> - <%= number_to_currency(appetizer.price, :unit => "£") %> 
       <input type="checkbox"> 
      </li> 
       <label for="<%= appetizer.id %>_quantity">Qty:</label> 
       <input type="text" 
         name="<%= appetizer.id %>[quantity]" 
         size="2" 
         id="<%= appetizer.id %>_quantity"> 
     </ul> 
    <% end %> 

    <input type="submit" value="Submit"> 
</form> 
<br> 

<%= link_to 'Back', menu_path %> 
+0

이렇게하는 방법이 있습니다. 모델 구성 방식에 따라 'accepts_nested_attributes_for'가 여기에 친구가 될 수 있습니다. 그러나 우리는 당신의 코드 없이는 당신을 정말로 도울 수 없습니다. 의미있는 코드와 문제 설명을 추가하려면 [편집]하십시오. 을 보여주는 [Minimal, Complete, Verifiable Example] (http://stackoverflow.com/help/mcve) 게시를 통해 더 나은 답변을 얻을 수 있습니다. 감사! –

+0

안녕하세요. 방금 시도한 질문을 업데이트했습니다. 어쨌든 체크 박스가 체크 된 항목 만 게시 할 수 있습니까? – vdn

답변

0

당신이 코드를 포함 할 경우 당신은 빠른 답변을 얻을 수 있습니다. - 입력 요소 이름에 배열 표기법을 사용 했습니까?

<input type="text" name="textbox[]" /> 

두 개의 배열 - 수표 및 텍스트 상자를위한 배열 두 개를 얻을 수 있습니다. 이것은지도가있는 것과 같습니다.

비슷한 문제에 대해 이야기하는 Post을 참조하십시오.