Подтвердить что ты не робот

Jquery ajax и Rails 3 → загрузка содержимого


Я начинаю с ajax. У меня есть слайдер и контент div, ползунок имеет ссылки (событие, новости и т.д.), Я хочу создать ajax-нагрузку для контента div (например, facebook).
Я использовал Google, но я нашел очень старые статьи (рельсы 2, но я использую rails3).
В учебнике Rails 3 есть jquery ajax с rails3, но он очень крошечный.

На этом этапе:
Я настраиваю свою форму с помощью удаленного тега (: remote = > true), и я переименовал new.html.haml в _new.html.haml partial. Я думаю, что я должен создать файл new.js.erb, содержащий:

$(".menuitem").load("<%= escape_javascript(render('article/new')) %>") .content"); //just an idea

Моя логика правильная?
Если у вас есть хороший учебник или пример о рельсах и ajax, пожалуйста, поделитесь со мной.
Благодаря

4b9b3361

Ответ 1

Самый простой способ - загрузить элемент .content onclick с помощью jQuery:

$(".menuitem").click(function() {
  $(".content").load("/articles/new");
});

и отрисуйте частичную форму в контроллере:

def new
  render :partial => 'form'
end

Ответ 2

Я бы рекомендовал использовать jquery_ujs для этого.

С Rails 3.1+ просто добавьте gem 'jquery-rails' в ваш gemfile и //= require jquery_ujs в заголовок application.js.

Поздравляя ваши ссылки с помощью :remote => true, вы вызываете href с помощью Ajax.

Чтобы загрузить сообщение в блоге в свой #content div, вы можете создать show_post.js.erb для рендеринга вашего сообщения (предполагая, что show_post - это действие, которое вы используете, и у вас есть "_content_post.html.haml", который отобразить содержимое блога):

$('#content').html('<%= escape_javascript (render :partial => "content_post") %>')

надеюсь, что эта помощь