2013-07-16 5 views
0

У меня есть старый проект в 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> 

ответ

1

Заканчивать этот Turbolinks screencast.

Вся страница по-прежнему отображается и возвращается в браузер, но заменяется только телом.

Вы можете проверить, работают ли они двумя страницами. Страница 2 должна загружаться, но когда вы проверяете заголовок страницы, он НЕ должен включать тестовый файл javascript. Сообщите нам, если он все еще не работает.

Страница 1

<html> 
    <title>Page 1</title> 
    <body> 
    <h1>Page 1</h1> 
    <a href="/page2">Page 2</a> 
    </body> 
</html> 

Страница 2

<html> 
    <title>Page 2</title> 
    <script type="text/javascript" src="test.js"></script> 
    <body> 
    <h1>Page 2</h1> 
    </body> 
</html> 
+0

'test.js' загружен, поэтому не используется Turbolinks. Я положил его в демонстрационный контроллер и добавил views1.html.erb и page2.html.erb в представления. Приложение не использует конвейер активов прямо сейчас, это как-то связано с этим? – John

+0

Выяснил это. Атрибуты были ошибочно загружены из public/assets/application.js в dev env, вместо загрузки турболинков из 'app/assets/javascripts/application.js'. – John

Смежные вопросы