Rails 3.1 и jQuery-UI активы
Это было задано в другом вопросе, но ни одно из решений, похоже, не работает для меня в 3.1rc1.
Я пытаюсь использовать новые активы вещи в Rails 3.1 - у меня есть файлы:
./vendor/assets/stylesheets/jquery-ui-1.8.13.custom.css
./vendor/assets/javascripts/jquery-ui-1.8.13.custom.min.js
затем я добавил:
//= require jquery-ui to app/assets/javascripts/application.js
*= require jquery-ui to app/assets/stylesheets/application.css
файл javascript jquery-ui загружается просто отлично, но файл css говорит:
Sprockets::FileNotFound (couldn't find file 'jquery-ui'
(in /home/xanview2/xancar/app/assets/stylesheets/application.css):6):
какие идеи?
8 ответов:
пример рабочей настройки:
$ cat app/assets/javascripts/application.js //= require jquery //= require jquery-ui $ cat app/assets/stylesheets/application.css /* *= require vendor * */ $ cat vendor/assets/stylesheets/vendor.css /* *= require_tree ./jquery_ui * */ vendor/assets/ $ tree stylesheets vendor.css jquery_ui jquery-ui-1.8.13.custom.css ... images jquery_ui ui-bg_flat_0_aaaaaa_40x100.png ...наконец, выполните следующую команду:
vendor/assets/images $ ln -s jquery_ui/ imagesнаслаждайтесь jQuery UI
Это отличная статья, чтобы прочитать о Rails 3.1 asset pipeline и jQuery UI:jQuery-UI css и изображения, а также Rails Asset Pipeline
вы могли бы иметь больше удачи с jQuery-ui-rails камень (см. объявление), который упаковывает JavaScripts jQuery UI, таблицы стилей и изображения в качестве активов для вас.
эта тема поднимается много, и теперь, когда прошло значительное количество времени, все может быть по-другому.
в Rails 3.1.2 я нашел то, что работает без символических ссылок. Следуйте инструкциям выше, но поместите изображения для темы рядом с файлом jquery-ui-xxx.css в папку images/. это спасло меня довольно много головных болей.
Да, это будет означать, что изображения будут находиться в таблице стилей / папке в vendor / assets, но это работает и это быстро сделать.
вы пробовали использовать rails-asset-jqueryui камень? Он продает jquery-ui и стандартные темы (в настоящее время v1.8.16) и делает их доступными через конвейер активов. В следующем примере вызывается тема гладкости.
Gemfile:
.... gem 'rails-asset-jqueryui' ...app / assets / javascripts / application.js:
... //= require jqueryui ...приложения/активов/стили/приложения.css:
... = require smoothness ...
Если вы используете jQuery-ui-rails gem:
приложение.css
/* *= require jquery.ui.all */приложение.js
//= require jquery.ui.all
мне кажется, что много путаницы можно избежать, сохраняя эти библиотечные активы из активов/javascripts и активов/таблиц стилей dirs, где звездочки и др. имеют некоторые мнения о том, что должно произойти.
предположим, вы скачали настраиваемый jQuery-интерфейс zip-файл с themeroller. Попробуйте это:
распакуйте zip-файл в поддир assets dir, что-то вроде
vendor/assets/jquery-ui-1.8.23.customв приложения.рубидий добавить:
config.assets.paths << Rails.root.join('vendor', 'assets', 'jquery-ui-1.8.23.custom').to_sдобавить файлы манифеста в обычных местах:
поставщик / активы / javascripts / jquery-ui.js:
//= require_tree ../jquery-ui-1.8.23.customпоставщик / активы/таблицы стилей / jquery-ui.css:
*= require_tree ../jquery-ui.1.8.23.customв config / environments / production.rb, add (ссылаясь на имена файлов манифеста):
config.assets.precompile += %w(jquery-ui.js jquery-ui.css)в вид:
<%= stylesheet_link_tag 'jquery-ui' %> <%= javascript_include_tag 'jquery-ui' %>
Если вы используете этот:
https://github.com/carlhoerberg/sprockets-urlrewriter
Я считаю, что вы можете просто сбросить весь shebang в каталог и потребовать файл css... он будет плавно переписывать относительные URL-адреса.
вам просто нужно установить gem и добавить строку конфигурации в приложение.РБ
Comments