2013-07-14 3 views
0

У меня было this problem before, и я провел два полных выходных дня, пытаясь понять и понять проблему. Такая же проблема продолжает возникать. Надеюсь, я могу определить, что именно происходит в этом приложении rails.jQuery плагин Rails не загружается

Получение плагина jQuery pageslide для работы с моим рельсом. В app/vendor/assets/javascripts находится файл jquery.pageslide.js. Таким образом, я могу изменить мой application.js манифест accordingly-

//= require jquery 
//= require jquery-ui 
//= require jquery_ujs 
//= require jquery.ui.datepicker 
//= require raphael.min 
//= require justgage 
//= require jquery.purr 
//= require best_in_place 
//= require lightbox 
//= require jquery.cookie 
//= require jquery.joyride-2.0.3 
//= require jquery.pageslide 
//= require modernizr.mq 
//= require_tree . 

Я делаю то же самое для jquery.pageslide.css в app/vendor/assets/stylesheets. application.css манифеста

*= require jquery.ui.datepicker 
*= require_self 
*= require bootstrap 
*= require front 
*= require lists 
*= require tasks 
*= require lightbox 
*= require joyride-2.0.3 
*= require jquery.pageslide 
*/ 

Теперь с помощью плагина к slide out a modal в одном из моих views-

просмотров/списки/show.html.erb-

<a href="#modal123" class="second_thing">Link text</a> 
<div id="modal123" style="display:none"> 
    <h2>Modal</h2> 
    <p>And all the stuff.</p> 
    <a href="javascript:$.pageslide.close()">Close</a> 
</div> 

JavaScripts/lists.js. кофе-

$ -> 
    $("a.second_thing").pageslide({ direction: "left", modal: true }); 

My initialital checklist-

-Нет предупреждений или ошибок с консоли. -Файлы css и js pageslide находятся в источнике страниц. - Удостоверяясь DOM/Jquery загружается перед вызовом pageslide в javscripts/lists.js.coffee -The порядок моего файла манифеста не похоже, чтобы указать, что lists.js.coffee в настоящее время выполняется перед pageslide.js загружается

Это похоже, я пропускаю некоторые дополнительные проверки, чтобы убедиться, что это работает?

Другое Notes- В окр разработки, другое JQuery плагин работает (авантюра, но назвав его в show.html.erb странице с тегами сценария), у меня есть эта линия config.assets.initialize_on_precompile = false умиротворить Завещание в application.rb.

Я в тупике, что еще я должен проверять?

+0

У меня недостаточно информации о js и jquery, но, похоже, первая строка в файле кофе должна быть удалена, не могли бы вы попробовать? – ekremkaraca

+0

Этот бит необходим для задержки кода до загрузки DOM. Без него код будет выполнен до полной загрузки html. –

+0

Я рассмотрел ваш кофе и образец на странице плагинов для чтения страниц.Почти копировать-вставить, кроме скомпилированного скрипта. Когда я проверил ваш код на странице http://coffeescript.org/, созданный скрипт отличается от сценария образца в оригинале. Советую проверить ваш код и увидеть разницу между оригинальным и вашим. – ekremkaraca

ответ

2

Хорошо, я получил работу благодаря комментарию @ muttonlamb и перечитывал раздел конвейера активов на направляющих рельсов.

Я добавил эту строку в свой файл show.html.erb, потому что для чтения страниц требуется, чтобы исходный файл включался в тег тела и как он был изначально, он загружался только в голову.

<%= javascript_include_tag "jquery.pageslide" %> 

ПРИМЕЧАНИЕ: Я также явно добавил jquery.pageslide под приложение/активы/JavaScripts сделать ссылку выше.

Это не похоже на лучшую производительность, поэтому я с радостью отмечаю лучший ответ для достижения вышеуказанного.

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