Rails - действие контроллера может быть выполнено только с помощью вызова JS - PullRequest
0 голосов
/ 11 февраля 2011

В моем файле просмотра я использую collection_select с :onchange => remote_function, который выполняет другое действие с того же контроллера (действие в конечном итоге обновит содержимое страницы)

Мне бы хотелось, чтобы это действие было доступно только при вызове JS, но не когда соответствующий маршрут вводится напрямую в качестве URL-адреса в браузере.

Есть идеи, как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2011

Вы можете использовать request.xhr? для проверки типа запроса, либо AJAX-запроса, либо другого (post, get). Возвращает истину или ложь. Если true, вы можете выполнить действие.

1 голос
/ 11 февраля 2011

Вы можете использовать response_with и response_to

class MyController
  respond_to :js

  def index
    respond_with(@users = User.all)
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...