2014-12-04 2 views
0

В моем приложении rails у меня есть form_tag, который я хочу перенаправить на модальный при отправке. У меня есть следующее для form_tag, но проблема заключается в модальном всплытии, когда я нажимаю поля формы.Перенаправление Rails form_tag в modal

<%= 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

Если вы хотите модальный всплывал, когда кнопка нажата представить просто переместить

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

к вашему button_tag.

Я думаю, что вы действительно можете иметь модальный открытый доступ, когда пользователь получает ответ от сервера после отправки формы. Если это так, просто вручную откройте модальный файл в файле create.js.erb (представление будет передано удаленной формой submit).

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

Да, это последнее, чего я хочу. Но контроллер не привязан к какой-либо модели. Это контроллер, создающий отчет. Поэтому у меня есть контроллер отчетов и метод generate_report. Итак, когда представлен form_tag выше, он переходит к методу generate_report. в представлениях у меня есть «_show_report.html.erb» partial и «show_report.js.erb». в моем методе generate_report у меня есть response_to do | format | format.js {render 'reports/show_report'} end Сообщение об ошибке, которое я получаю, это ActionController :: UnknownFormat – Tiamon

+0

Извините за форматирование – Tiamon

+0

Можете ли вы опубликовать свой метод generate_report из контроллера отчетов? –

Смежные вопросы