Когда вы создаете объекты form
и link_to
, вам нужно убедиться, что на них есть :remote => true
, иначе маршрут не будет выполнять действие через JS.Вместо этого он будет отображаться с HTML-кодом по умолчанию.
Пример:
<%= form_for(@post, :remote => true) do |f| %>
или
<%= link_to "Edit", edit_post_path(post), :remote => true %>
Кроме того, убедитесь, что у вас установлены последние версии jQuery и jQuery.Установленный Rails-адаптер: https://github.com/rails/jquery-ujs
В качестве примечания, вам не понадобится format.html
в приведенном выше коде, если вы делаете 100% Ajax для действий CRUD, так как все, что вы когда-либо рендерите, этофайлы JS (format.js).
Обновление: Я думаю, что вы неправильно понимаете некоторые вещи ... В учебнике, который вы читаете, рассказывается только об изменении CRUD (создать, читать, обновлять, удалять) действия в 100% ajax-вызовах, что означает, что они единственные, кто ответит рендерингом .js.erb
файлов.Поэтому, когда вы проверяете, что страница Processing SomeController#some_action as JS
, она будет только применяться к действиям create
, show
, update
и destroy
в контроллере Customer.
Для установки jQuery и jQuery-UJS на Rails 3.0 выполните следующие действия:
Обязательно избавьтесь от файла rails.js, если он существует, и вместо этогоиспользуйте новый файл jquery_ujs.js, который копируется в публичный каталог.Выберите перезаписать jquery_ujs.js, если будет предложено.
Затем запустите rails generate jquery:install
Измените шаблон макета следующим образом:
<%= stylesheet_link_tag :all %>
<%= javascript_include_tag :defaults %>
<%= csrf_meta_tag %>
Я должен сказать, что учебник, который вы читаете, является худшимучебник, который я когда-либо читал.Поскольку вы, кажется, очень плохо знакомы с Ruby on Rails, поэтому я весьма рекомендую прочитать другой учебник (например, этот, если вы все еще хотите прочитать об AJAX с Rails: http://net.tutsplus.com/tutorials/javascript-ajax/using-unobtrusive-javascript-and-ajax-with-rails-3/ или дажечто-то действительно хорошее, как этот, чтобы лучше изучить сам Rails: http://ruby.railstutorial.org/ruby-on-rails-tutorial-book).