Коротко и сладко, я следовал этому руководству точно при развертывании новых рельсов (5.2.2), используя rails g scaffold thing
для генерации приложения.
Однако после создания частичного _show.html.erb
в пункте Целевые изменения в руководстве нажатие кнопки «Изменить ниже» link_to
не отображает частичное при тестировании. Я не получаю сообщения об ошибке, и Rails сообщает, что все отображается нормально, но на сайте ничего не происходит, когда я нажимаю на ссылку.
Чего мне не хватает?
код
controllers/things_controller
class ThingsController < ApplicationController
def index
@things = Thing.all
end
def show
end
end
config/routes.rb
Rails.application.routes.draw do
root 'things#index'
resources :things
end
things/index.html.erb
<%# /app/views/things/index.html.erb %>
<%= link_to 'Change Below', thing_path(42), remote: true %>
<div id="target-for-change">
Now you see "ME"!
</div>
things/show.js.erb
<%# /app/views/things/show.js.erb %>
$("#target-for-change").html("<%= j render(partial: 'show') %>");
things/_show.html.erb
<%# /app/views/things/_show.html.erb %>
Now you don't!
Вывод из консоли браузера :
Uncaught ReferenceError: $ is not defined
at <anonymous>:1:1
at processResponse (rails-ujs.self-d109d8c5c0194c8ad60b8838b2661c5596b5c955987f7cd4045eb2fb90ca5343.js?body=1:268)
at rails-ujs.self-d109d8c5c0194c8ad60b8838b2661c5596b5c955987f7cd4045eb2fb90ca5343.js?body=1:196
at XMLHttpRequest.xhr.onreadystatechange (rails-ujs.self-d109d8c5c0194c8ad60b8838b2661c5596b5c955987f7cd4045eb2fb90ca5343.js?body=1:251)