Вот что вам нужно:
form_tag( { :controller => :magic, :action => :search, :method => post }, { :remote => true } ) do ....
Это своего рода плохой дизайн, но методы Rails form_tag
требуют ДВУХ хешей - хеш опций url_for и хеш обычных опций.Это создало много путаницы для многих программистов Rails.Если вы не добавите разграничивающие границы хеша, все опции передаются в url_for (), разрушая :remote => true
.
Это добавит data-remote="true"
к вашей форме (для использования с ненавязчивым JavaScript), как уже упоминали другие).Оттуда вам нужно создать соответствующий AJAX для привязки для выполнения запроса.
Хотя на самом деле вы должны использовать именованный маршрут, такой как magic_search_path
вместо параметров контроллера / действия.