Rails 3: Создать кнопку для запуска действия без перенаправления страницы? - PullRequest
1 голос
/ 16 сентября 2011

Я очень новичок в Rails, так что здесь:

Я знаю, как сделать основную для того, чтобы отправить результаты на другую страницу с

<%= form_tag "Class/Action">
# and    
<% submit_tag "Button name">

но мне нужны несколько кнопок, которые запускают действие (и страница, на которой находится пользователь, не изменяется и не обновляется).

Кроме того, если у вас есть лучшая альтернатива, именно это я и делаю: пользователю предоставляется выбор, и когда он выбирает один, я хочу передать выбор другим клиентам через Джаггернаут. Джаггернаут используется через Rails с командой Juggernaut.publish (канал, сообщение), и поэтому мне нужно вызвать действие, которое выполняет эту команду, без обновления или изменения его страницы.

Ответы [ 2 ]

4 голосов
/ 16 сентября 2011

Используйте форму :remote => true и запустите действие через Ajax.Это также дает вам возможность легко возвращать данные, HTML или JavaScript, чтобы пользователь знал, что произошло.

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

Вам просто нужно определить: remote => true в вашем form_tag.Вот пример ...

<%= form_for(@folder, :remote => true) do |field| %>
    <%= field.label :Name %>
    <%= field.text_field :Name, :placeholder => "New Folder" %>
    <%= field.submit "Create", :disable_with => "Saving..." %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...