форма не обрабатывается как JS - PullRequest
0 голосов
/ 02 сентября 2011

Итак, у меня есть следующая форма rails, и соответствующее действие контроллера имеет response_to: js, но rails продолжает обрабатывать ее как HTML. Не совсем уверен, как поступить. Есть идеи?

form_tag url_for(controller: 'posts', action: 'add_tag'), id: 'enter_tag', remote: true, style: 'display:none' do
  text_field_tag :tag
end

ОБНОВЛЕНИЕ: удаление 'display: none' исправляет это (у меня была форма исчезает.) Почему это?

1 Ответ

0 голосов
/ 02 сентября 2011

Крис, вы используете Rails 3.1?Если это так (я верю, я все еще на 3.0.10), библиотека JQuery UJS автоматически включается.В этом случае следует использовать запрос типа данных / , но я считаю, что rails должна заметить, что это запрос xhr, и автоматически отправить его в ответ JS.

Быстрое решение может бытьизменив url_for на url_for(controller: posts, action: 'add_tag', format: 'js'), но я считаю, что он должен выбрать ответ JS даже без этого.Мне не нравится такой подход, потому что я не верю, что он когда-нибудь выберет ваш HTML-ответ для пользователей, не являющихся js.

Другое исправление может заключаться в том, чтобы поместить format.js в качестве первого формата ответа в контроллере.(теперь это может быть HTML), но я упускаю причину, почему он не распознает его как Ajax-запрос для начала?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...