Rails 3.1 и активы jquery-ui - PullRequest
52 голосов
/ 26 мая 2011

Это было задано в другом вопросе, но ни одно из решений не работает для меня в 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 ]

63 голосов
/ 07 июня 2011

Пример рабочей настройки:

    $ 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

11 голосов
/ 27 декабря 2011

Это отличная статья о конвейере ресурсов Rails 3.1 и пользовательском интерфейсе jQuery: jQuery-UI css и изображения и Rails Asset Pipeline

8 голосов
/ 20 февраля 2012

Возможно, вам повезет больше с jquery-ui-rails gem (см. объявление ), который упаковывает jQuery UI JavaScripts, таблицы стилей и изображения в виде активы для вас.

6 голосов
/ 26 декабря 2011

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

В Rails 3.1.2 я нашел что-то, что работает без символических ссылок. Выполните шаги, описанные выше, но поместите изображения для темы прямо рядом с файлом jquery-ui-xxx.css в папку images /. Это избавило меня от нескольких головных болей.

Да, это будет означать, что изображения будут находиться в папке стилей в папке vendor / assets, но это работает, и это быстро сделать.

5 голосов
/ 08 января 2013

Если вы используете гем jquery-ui-rails:

application.css

/*
 *= require jquery.ui.all
 */

application.js

//= require jquery.ui.all
5 голосов
/ 06 февраля 2012

Вы пытались использовать rails-asset-jqueryui gem?Он выпускает jquery-ui и стандартные темы (в настоящее время v1.8.16) и делает их доступными через конвейер ресурсов.Следующий пример вызывает тему Smoothness.

Gemfile:

....
gem 'rails-asset-jqueryui'
...

app / assets / javascripts / application.js:

...
//= require jqueryui
...

app / assets / stylesheets/application.css:

...
= require smoothness
...
2 голосов
/ 24 августа 2012

Мне кажется, что можно избежать путаницы, не допуская, чтобы эти библиотечные активы были исключены из директорий assets / javascripts и assets / stylesheets, где у sprockets и др. Есть некоторые мнения о том, что должно произойти.

СкажитеВы загрузили настроенный zqufile-файл jquery-ui от themeroller.Попробуйте это:

  1. распакуйте zip-файл в подкаталог dir-компонента, что-то вроде

    vendor/assets/jquery-ui-1.8.23.custom
    
  2. в application.rb и добавьте:

    config.assets.paths << Rails.root.join('vendor', 'assets', 'jquery-ui-1.8.23.custom').to_s
    
  3. добавить файлы манифеста в обычных местах:

    vendor / assets / javascripts / jquery-ui.js:

    //= require_tree ../jquery-ui-1.8.23.custom
    

    vendor / assets / stylesheets / jquery-ui.css:

    *= require_tree ../jquery-ui.1.8.23.custom
    
  4. в config / environment / production.rb, добавьте (ссылаясь на имена файлов манифеста):

    config.assets.precompile += %w(jquery-ui.js jquery-ui.css)
    
  5. в просмотрах:

    <%= stylesheet_link_tag 'jquery-ui' %>
    <%= javascript_include_tag 'jquery-ui' %>
    
0 голосов
/ 29 февраля 2012

если вы используете это:

https://github.com/carlhoerberg/sprockets-urlrewriter

я считаю, что вы можете просто сбросить весь shebang в каталог и потребовать файл css ... он будет плавно переписывать относительные URL.

вам просто нужно установить гем и добавить строку конфигурации в application.rb

...