Rails 3.1 i jQuery-zasoby interfejsu użytkownika

To zostało zadane w innym pytaniu, ale żadne z rozwiązań nie wydaje się działać dla mnie w 3. 1rc1.

Próbuję użyć nowych zasobów w rails 3.1 - mam pliki:

./vendor/assets/stylesheets/jquery-ui-1.8.13.custom.css
./vendor/assets/javascripts/jquery-ui-1.8.13.custom.min.js

Dodałem:

//= require jquery-ui to app/assets/javascripts/application.js
*= require jquery-ui to app/assets/stylesheets/application.css

Plik javascript jQuery-ui ładuje się dobrze, ale plik css mówi:

Sprockets::FileNotFound (couldn't find file 'jquery-ui'
     (in /home/xanview2/xancar/app/assets/stylesheets/application.css):6):
Jakieś pomysły?
Author: New Alexandria, 2011-05-26

8 answers

Przykład pracy:

    $ 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
            ...

Na koniec uruchom polecenie:

    vendor/assets/images $ ln -s jquery_ui/ images

Ciesz się jQuery UI

 63
Author: denysonique,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-06 23:10:16

Jest to świetny artykuł do przeczytania o potoku zasobów Rails 3.1 i jQuery UI: jQuery-UI css i obrazów oraz potoku zasobów Rails

 11
Author: eduludi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-27 11:37:28

Możesz mieć więcej szczęścia z jquery-ui-rails gem (zobacz announcement), który pakuje jQuery UI JavaScripts, arkusze stylów i obrazy jako zasoby dla Ciebie.

 8
Author: Jo Liss,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-20 12:00:55

Ten temat pojawia się dużo, a teraz, gdy minęło sporo czasu, może być inaczej.

W Rails 3.1.2 znalazłem coś, co działa bez dowiązań symbolicznych. Wykonaj powyższe kroki, ale Umieść obrazy motywu tuż obok pliku jquery-ui-XXX. css w folderze images/.Uratowało mi to kilka bólów głowy.

Tak, oznaczałoby to, że obrazy będą znajdować się w arkuszach stylów/ folderze w vendor / assets, ale to działa i jest szybkie do zrób.

 6
Author: dmonopoly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-26 04:32:38

Próbowałeś użyćrails-asset-jqueryui gem? Dostarcza jquery-ui i standardowe motywy (obecnie v1. 8.16) i udostępnia je za pośrednictwem potoku zasobów. Poniższy przykład przywołuje motyw Smoothness.

Gemfile:

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

App / assets/javascripts / application.js:

...
//= require jqueryui
...

App / assets/stylesheets / application.css:

...
= require smoothness
...
 5
Author: Doc Walker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-06 01:54:02

Jeśli używasz jQuery-ui-rails gem:

Zastosowanie.css

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

Zastosowanie.js

//= require jquery.ui.all
 5
Author: mkirk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-19 00:40:05

Wydaje mi się, że wiele zamieszania można uniknąć, utrzymując te zasoby biblioteki z zasobów/javascripts i zasobów/stylesheets dirs, gdzie sprockets et al mają pewne opinie na temat tego, co powinno się wydarzyć.

Powiedzmy, że pobrałeś niestandardowy plik zipfile jQuery-ui z themeroller. Spróbuj tego:

  1. Rozpakuj plik zip do poddir katalogu zasobów, coś w rodzaju

    vendor/assets/jquery-ui-1.8.23.custom
    
  2. W aplikacji.RB dodaj:

    config.assets.paths << Rails.root.join('vendor', 'assets', 'jquery-ui-1.8.23.custom').to_s
    
  3. Dodaj pliki manifestu w zwykłych miejscach:

    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. W config / environments / production.rb, add (odnosi się do nazw plików manifestu):

    config.assets.precompile += %w(jquery-ui.js jquery-ui.css)
    
  5. W odsłonach:

    <%= stylesheet_link_tag 'jquery-ui' %>
    <%= javascript_include_tag 'jquery-ui' %>
    
 2
Author: KenB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-24 13:35:10

Jeśli użyjesz tego:

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

Wierzę, że można po prostu wrzucić cały shebang do katalogu i wymagać pliku css... będzie płynnie przepisywać względne adresy URL.

Wystarczy zainstalować gem i dodać linię config do aplikacji.rb

 0
Author: fringd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-28 23:30:00