Самый простой / быстрый способ сделать это - создать несколько новых действий контроллера с помощью шаблонов html.erb, а затем использовать функцию load () jquery. Итак:
Сначала создайте новое действие, которое выводит (используя шаблон .html.erb) HTML-код, который вы хотите отобразить после documentReady. Убедитесь, что ваш контроллер не использует макеты для действия, и создайте именованный маршрут, который ссылается на действие. Поскольку у вас уже написаны вспомогательные функции, шаблон должен просто вызвать вашу вспомогательную функцию с соответствующими аргументами.
Итак, если ваш контроллер называется «Пользователи», а ваше новое действие называется «ajax_info», вы должны создать новый маршрут с именем user_ajax_info и связать его с «users / ajax / info». Если вы зашли на страницу пользователя / ajax / info в браузере, вы увидите содержимое (и только содержимое), которое вы хотите подключить к документу с помощью AJAX.
Затем вы можете загрузить содержимое документа, готового с помощью load () Jquery, например:
<%= javascript_tag do %>
$(document).ready(function() {
$('spinner1').load('<%= user_ajax_info_url -%>');
});
<% end %>
Rails затем автоматически передает правильный URL для user_ajax_info в Jquery; Jquery загрузит содержимое по этому URL и заменит содержимое spinner1 новым содержимым. Подробнее см. http://api.jquery.com/load/.
Обратите внимание, что технически это, вероятно, не лучшая практика; было бы намного лучше (с точки зрения практики) вернуть данные с использованием XML / JSON. С другой стороны, это также намного сложнее реализовать; Я бы рекомендовал начать с этого, а затем обновить позже, если это станет необходимым.