2011-01-05 5 views
1

양식을 사용하여 관리자 페이지를 만들고 싶습니다. 관리자가 선택한 이미지를 나타내는 확인란과 승인, 편집, 삭제의 세 가지 제출 버튼이 있습니다.3 개의 제출 버튼이있는 레일 양식

이 작업을 수행하는 가장 좋은 방법은 form_tag입니까? 그렇지 않다면 단순한 버튼 만 사용하는 경우 선택한 체크 박스의 데이터를 모으기 위해 어떻게 연결할 수 있습니까?

답변

2

하나의 방법은 세 개의 버튼으로 하나 개의 형태를 만들 수 있습니다 ... 감사합니다. form_tag를 사용하는 경우 submit_tag를 세 번 수행하여 세 개의 버튼을 만들 수 있습니다. submit_tags는 동일한 : name 매개 변수를 사용하지만 다른 값을 사용합니다. 양식 제출을 처리 할 때 클릭 한 단추를 확인한 다음 적절한 조치로 경로를 변경하십시오.

이렇게하면 세 가지 다른 양식으로 확인란을 공유하는 데 js를 사용하지 않아도됩니다.

1

같은 질문을 가졌으므로 form_for를 사용하려고 시도했지만 제대로 작동하는 것 같습니다. 방금 추가 작업을위한 제출 버튼을 추가했습니다.

= form_for @request do |f| 
    = render 'shared/error_messages', object: f.object 

    = f.label :status 
    = f.text_field :status 

...some more fields 

    = f.submit "Save changes", class: "btn btn-large btn-primary" <--- This is initial button 
    = f.submit "Accept", name: 'accept', class: "btn btn-large btn-primary" 
    = f.submit "Reroute", name: 'reroute', class: "btn btn-large btn-primary" 
    = f.submit "Solve", name: 'solve', class: "btn btn-large btn-primary" 

그런 다음 컨트롤러는 눌러 진 버튼 확인 : 당신이 렌더링 된 페이지의 소스에서 찾을 수있는 초기 버튼의

if !params[:accept].nil? 

if !params[:reroute].nil? 

if !params[:solve].nil? 

이름. 그것은 나를 위해 "커밋"합니다.