#ruby-on-rails
#ruby-on-rails
Вопрос:
Я заметил, что некоторые эффекты jquery требуют, чтобы скрипты загружались в правильном порядке .. в моем случае это работает, если они загружаются следующим образом:
jquery 1.4.4
jquery-ui-1.8.16.custom.min.js
autocomplete-rails.js
jquery.cycle.all.js
....
если они загружаются по-другому, то некоторые из моих функций анимации или jquery не работают. Итак, как мне указать в rails, какой скрипт загружать первым?
Прямо сейчас я сделал это примитивным способом, добавив 1 2 3 числа перед именами каждого скрипта, который у меня есть, в порядке, который мне нужен, в результате чего:
1jquery 1.4.4
2jquery-ui-1.8.16.custom.min.js
3autocomplete-rails.js
4jquery.cycle.all.js
Это примитивно, но работает. Есть ли другой способ сделать это?
Rails 3
Комментарии:
1. Какую версию Rails вы используете?
2. Я не понимаю … ваш первый пример работает? Они должны загружаться в том порядке, в котором вы указываете, точно так же, как в вашем первом примере.
3. нет, в первом примере я указал, в каком порядке они мне нужны для загрузки, а во втором я просто показываю, как я заставляю их загружать в этом порядке, но я хочу знать, есть ли какой-либо более цивилизованный способ сделать это. Спасибо
4. Какая версия Rails 3? Ответ может сильно отличаться между Rails 3.0 и 3.1. Для 3.1 простое включение их
javascript_include_tag
в надлежащем порядке будет работать нормально. В rails 3.1, поскольку все объединено в один JS-файл, это не должно иметь значения, однако я не совсем уверен в этом.5. Исправление: Rails 3.0 для
javascript_include_tag
примера.
Ответ №1:
Для Rails 3.0:
javascript_include_tag
принимает массив источников и включает их в том порядке, который вы определяете. Вы можете опустить :defaults
или определить его в своем application.rb
файле с config.action_view.javascript_expansions[:defaults] = %w(foo.js bar.js)
помощью . :all
включает все javascripts в вашей папке /javascripts/ .
Поэтому лучше всего использовать jQuery в начале, поскольку большинство или все ваши файлы javascript будут использовать jQuery.
Дополнительная документация: http://apidock.com/rails/ActionView/Helpers/AssetTagHelper/JavascriptTagHelpers/javascript_include_tag