2014-12-10 2 views
0

인덱스 페이지의 레코드를 나열하는 레일 애플리케이션이 있습니다. 열 하나는 :인덱스 페이지에서 매개 변수를 전달하는 레일

def addinvtimes 
    if params[:event_ids] != nil 
     params[:event_ids].each do |i| 
     newinvtime = Invtime.new(
      linetype_id: 1, 
      invoice_id: @invoice.id, 
      event_id: i.to_i 
     ) 
     end 
    end 
    end 
: 나는 invtimes 컨트롤러에서 실행하려면이 코드를 원

<%= link_to 'Submit ', addinvtimes_invtimes_path, :class => 'btn btn-success' %> 

:

<td><%= check_box_tag "event_ids[]", event.id %></td> 

나는 인덱스 페이지 하단에 버튼이 있습니다

그러나 여러 개의 상자를 검사하더라도 params[:event_ids]은 없습니다.

색인 페이지를 사용하여 매개 변수를 제출할 수 없습니까? 그것은 형식이어야합니까?

도움 주셔서 감사합니다.

UPDATE 1

나는 호출에 배열 event_ids[]을 전달하려고 :

<%= link_to 'Submit ', addinvtimes_invtimes_path(:workorder_id => @workorder, :event_ids[] => event_ids[]), :class => 'btn btn-success' %> 

을하지만, 가지고 : 난 그냥 배열 event_ids[] 필요

wrong number of arguments (0 for 1..2) 

컨트롤러에 액세스 할 수 코드 addinvtimes.

UPDATE2

내가 할 노력하고있어 모든 기록들을 잔뜩 나열하고 체크 박스 열을 포함합니다. 그런 다음 컨트롤러에서 검사 된 행에 대한 ID 목록을 가져옵니다.

+0

예, 자바 스크립트를 사용하여 링크를 클릭하는 사용자를 포착하지 않는 한 이러한 양식을 포장해야합니다. –

답변

0

페이지 유형 (색인, 신규, 편집 등)은 데이터 제출 기능에 영향을 미치지 않지만 순수 HTML을 사용하여 데이터를 게시하여 params 해시에 게시하려는 경우 양식이 필요합니다.

갱신 1 :

업데이트로서는

추가 : event_ids []를 연결하는 매개 변수는시 그것을 event_ids []의 값을 할당하는, 링크에 쿼리 문자열 파라미터로 추가하는 바와 같이 뷰가 구문 분석됩니다. html의 체크 박스 변경 사항은 쿼리 문자열에 반영되지 않습니다. 내 생각에 가장 쉬운 방법은 확인란과 제출을 양식 태그로 감싸고 컨트롤러 작업에 데이터를 게시하는 것입니다.

아, 방금 인수가 잘못되어 색인이없는 event_ids에 []이 (가) 호출되었습니다. 확신 할 수는 없지만 변수 이름에 []을 (를) 가질 수는 없습니다.

+0

감사합니다 - 양식 태그를 사용해 보겠습니다. – Reddirt

+0

'<% = form_tag do %>'를 시도했지만'params [: event_ids]'는 여전히 nil입니다. – Reddirt

+0

양식의 전체보기 코드를 게시 할 수 있습니까? – irruputuncu

관련 문제