У меня есть старый проект в Rails 3. При обновлении до Rails 4 я хотел протестировать турбо-ссылки, но, похоже, не мог заставить его работать. Я добавил жемчужину «turbolinks» в Gemfile, bundle install
и добавил //= require turbolinks
в app/assets/javascripts/application.js
и перезапустил сервер.Устранение неисправностей Turbolinks
Все страницы по-прежнему обновляются в полноэкранном режиме, как это наблюдается в сетевой активности в Chrome.
Редактировать: Я следовал за небольшим тестом Turbolinks, предложенным в одном из ответов. Я добавил пустой демонстрационный контроллер и страницы1, страницы2. Если Turbolinks работают нормально, турбонауки следует рассматривать как инициатор в сетевых запросах, а test.js не следует загружать.
Маленький пример не работает, поскольку test.js пытается загрузить, есть полное обновление страницы, и инициатор по-прежнему не является турбовинтовым.
page1.html.erb
<html>
<title>Page 1</title>
<body>
<h1>Page 1</h1>
<a href="/test_turbo/page2">Page 2</a>
</body>
</html>
page2.html.erb
<html>
<title>Page 2</title>
<script type="text/javascript" src="test.js"></script>
<body>
<h1>Page 2</h1>
</body>
</html>
'test.js' загружен, поэтому не используется Turbolinks. Я положил его в демонстрационный контроллер и добавил views1.html.erb и page2.html.erb в представления. Приложение не использует конвейер активов прямо сейчас, это как-то связано с этим? – John
Выяснил это. Атрибуты были ошибочно загружены из public/assets/application.js в dev env, вместо загрузки турболинков из 'app/assets/javascripts/application.js'. – John