Ajax и Json с рельсами

Я следовал руководству Хартла по Rails, где он делает Ajax, используя RJS и отправляя javascript в ответ, который будет выполнен на стороне клиента, для редактирования DOM.

Но что делать, если вы хотите, чтобы JSON отправлял в ответе, а не отправлял javascript. Это также означает, что javascript для управления DOM уже должен быть в html-файле на клиенте. Есть ли учебник, столь же хороший, как книга Хартла о том, как это сделать в Rails. Предположительно он будет использовать Jquery и некоторые другие вещи, возможно, о которых я не слышал, чтобы код не содержал миллион строк?

2 ответа

Решение

Моя лучшая попытка найти ответ - это то, что он действительно зависит от объема и сложности того, чего вы пытаетесь достичь. Как правило, JSON отображается в представлениях. Если ваше приложение не требует от вас динамического извлечения JSON, то есть вы можете загрузить все это при первоначальном отображении представления, затем вы можете установить переменную экземпляра в контроллере вашего представления следующим образом @my_json = some_object.to_json() Тогда ваша переменная экземпляра доступна на ваш взгляд

    <script type = 'text/javascript'>
        var theJSON = <%= @my_json %>
    </script>
   

Теперь ваши данные доступны в DOM, хорошо проанализированы в JSON.

Если ваше приложение требует, чтобы вы динамически извлекали JSON после загрузки контроллера / представления, то вам, вероятно, следует изучить использование AJAX для вызова метода конкретного контроллера, который возвращает желаемый JSON.

Вот хороший RailsCast, который, как мы надеемся, поможет вам на пути передачи данных в Javascript

Вы должны взглянуть на Ajax в Rails 3.1 - дорожная карта.

Другие вопросы по тегам