2014-12-04 2 views
0

내 레일 앱에는 제출할 때 모달로 리디렉션하려는 form_tag가 있습니다. 나는 form_tag에 대해 다음을 가지고 있지만 폼의 필드를 클릭 할 때 문제는 모달 팝업입니다.Rails form_tag를 모달로 리디렉션

<%= form_tag generate_report_path, 
     {method: :get, remote: true, 
     'data-toggle' => "modal", 'data-target' => '#modal-window'} do %> 

내 geneate_report 방법

def generate_report 
    ####code to get relevant student_ids 
    @students = Student.where(id: @student_ids) 
    respond_to do |format| 
    format.js {render 'reports/show_report'} 
    end 
end 

답변

2

당신이 제출 버튼을 간단하게 button_tag에

'data-toggle' => "modal", 'data-target' => '#modal-window' 

이동을 누를 때 모달 팝업하십시오.

양식을 제출 한 후 사용자가 서버에서 응답을 받으면 실제로는 모달을 열어두고 싶을 것 같습니다. 그렇다면 create.js.erb 파일에서 모달을 수동으로 열면됩니다 (원격 양식 제출에 의해 렌더링 된 뷰).

$('#modal-window').modal('show'); 
+0

예, 내가 원하는 후자입니다. 그러나 컨트롤러는 어떤 모델에도 부착되어 있지 않습니다. 그것은 컨트롤러를 생성하는 보고서입니다. 그래서 '보고서'컨트롤러와 'generate_report'메서드가 있습니다. 따라서 위의 form_tag가 제출되면 generate_report 메소드로 이동합니다. 보기에는 '_show_report.html.erb'부분 및 'show_report.js.erb'가 있습니다. 내 generate_report 메서드에서 나는 respond_to 할 | 형식 | format.js {render 'reports/show_report'} end 내가 얻는 오류 메시지는 ActionController :: UnknownFormat입니다. – Tiamon

+0

서식을 사용하여 죄송합니다. – Tiamon

+0

보고서 컨트롤러에서 generate_report 메서드를 게시 할 수 있습니까? –

관련 문제