AJAX с Ruby on Rails? - PullRequest
       12

AJAX с Ruby on Rails?

0 голосов
/ 15 марта 2010

Это, наверное, очень тупой вопрос с простым ответом, но ...

Я работаю над проектом, в котором мне нужно использовать AJAX для отправки / получения информации. Я использую Ruby on Rails (что я довольно новичок), но вместо того, чтобы использовать вспомогательные методы или встроенную функциональность в файле Javascript «по умолчанию», мне нужно сделать это вручную в моем собственном Javascript.

Я полагаю, что в конечном итоге я захочу отправить запрос с объектом JSON, а затем заставить контроллер вернуть другой объект JSON, содержащий запрошенную информацию.

Проблема в том, что я не могу найти синтаксис для отправки чего-либо в определенный метод контроллера с параметрами непосредственно из Javascript - все, что я Google заканчиваю, является учебными пособиями по использованию вспомогательных методов Rails AJAX.

Ответы [ 2 ]

4 голосов
/ 15 марта 2010

В зависимости от версии Rails, которую вы используете, вы можете сделать следующее:

  1. Установите плагин jrails . Это заменит весь javascript Prototype в вашем приложении на jQuery. Это означает, что теперь у вас есть доступ ко всем библиотекам jQuery, но это не нарушит ваши существующие вспомогательные функции rails (remote_form_for и т. Д.).

  2. Теперь вы можете использовать jQuery AJAX для выполнения любых запросов AJAX, которые вы хотите сделать. Простой пример будет выглядеть примерно так:

    //Let's get a specific post by id
    $.ajax({
        type: "GET",
        url: "/posts/123",
        success: function(data){
            //put the data in the DOM
        }
    });
    

Затем просто добавьте соответствующий response_to в свой контроллер:

PostsController < ApplicationController
  def show
    @post = Post.find(params[:id)
    respond_to do |w|
      w.json { render :json => @post.to_json }
    end
  end
end
1 голос
/ 15 марта 2010

, если вы используете jQuery, jQuery.ajax решит вашу проблему.

[и для тех, кто любит говорить, jQuery - это не решение для всего, я знаю это. я просто даю ему возможность].

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