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
jquery-ji файл javascript загружается просто отлично, но файл css говорит:
Sprockets::FileNotFound (couldn't find file 'jquery-ui'
(in /home/xanview2/xancar/app/assets/stylesheets/application.css):6):
Любые идеи?
Ответы
Ответ 1
Пример рабочей настройки:
$ 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
Ответ 2
Это отличная статья, посвященная конвейеру ресурсов Rails 3.1 и пользовательскому интерфейсу jQuery: JQuery-UI css и изображения и Rails Asset Pipeline
Ответ 3
У вас может быть больше удачи с драгоценным камнем jquery-ui-rails (см. объявление), который упаковывает jQuery UI JavaScripts, таблицы стилей и изображения в качестве активов для вас.
Ответ 4
В этом разделе много говорится, и теперь, когда прошло значительное количество времени, все может быть по-другому.
В Rails 3.1.2 я нашел что-то, что работает без символических ссылок.
Выполните действия, описанные выше, но поместите изображения для темы прямо рядом с файлом jquery-ui-xxx.css в папке images/. Это избавило меня от нескольких головных болей.
Да, это будет означать, что изображения будут находиться в таблице стилей/папке в поставщике/активах, но это работает, и это быстро сделать.
Ответ 5
Вы пытались использовать rails-asset-jqueryui gem? Это вендоры jquery-ui и стандартные темы (в настоящее время v1.8.16), и делает их доступными через конвейер активов. Следующий пример вызывает тему Smoothness.
Gemfile:
....
gem 'rails-asset-jqueryui'
...
приложение/активы/JavaScripts/application.js:
...
//= require jqueryui
...
приложение/активы/таблицы стилей /application.css:
...
= require smoothness
...
Ответ 6
Если вы используете jquery-ui-rails gem:
application.css
/*
*= require jquery.ui.all
*/
application.js
//= require jquery.ui.all
Ответ 7
Мне кажется, что можно избежать много путаницы, сохранив эти библиотечные активы из активов /javascripts и активов/таблиц стилей, где sprockets и др. имеют некоторые мнения о том, что должно произойти.
Скажите, что вы загрузили настроенный jQuery-ui zipfile из themeroller. Попробуйте следующее:
-
распакуйте zip файл в поддиремент каталога ресурсов, что-то вроде
vendor/assets/jquery-ui-1.8.23.custom
-
в application.rb add:
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/environment/production.rb, добавьте (ссылаясь на имена файлов манифеста):
config.assets.precompile += %w(jquery-ui.js jquery-ui.css)
-
в представлениях:
<%= stylesheet_link_tag 'jquery-ui' %>
<%= javascript_include_tag 'jquery-ui' %>
Ответ 8
если вы используете это:
https://github.com/carlhoerberg/sprockets-urlrewriter
Я считаю, что вы можете просто сбросить весь shebang в каталог и потребовать файл css... он будет плавно переписывать относительные URL-адреса.
вам просто нужно установить драгоценный камень и добавить строку конфигурации в application.rb