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-ui javascript文件可以很好地加载,但是css文件显示:
Sprockets::FileNotFound (couldn\'t find file \'jquery-ui\'
     (in /home/xanview2/xancar/app/assets/stylesheets/application.css):6):
有任何想法吗?     
已邀请:
工作设置示例:
    $ 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的资产管道和jQuery UI:JQuery-UI CSS和图像以及Rails资产管道     
您可能会对jquery-ui-rails gem感到更幸运(请参阅公告),它将jQuery UI JavaScript,样式表和图像打包为资产。     
这个话题很多,现在已经过去了很多时间,情况可能会有所不同。 在Rails 3.1.2中,我发现了一些没有符号链接的作品。 请按照上述步骤操作,但是将主题的图像放在images /文件夹中的jquery-ui-xxx.css文件旁边。这为我省了不少麻烦。 是的,这意味着图像将驻留在供应商/资产的stylesheets /文件夹中,但是它可以工作并且很容易做到。     
您是否尝试过使用rails-asset-jqueryui gem?它提供了jquery-ui和标准主题(当前为v1.8.16),并可以通过资产管道使用它们。以下示例要求使用“平滑度”主题。 宝石文件:
....
gem \'rails-asset-jqueryui\'
...
app / assets / javascripts / application.js:
...
//= require jqueryui
...
应用程序/资产/样式表/application.css:
...
= require smoothness
...
    
如果您使用的是jquery-ui-rails gem: application.css
/*
 *= require jquery.ui.all
 */
application.js
//= require jquery.ui.all
    
在我看来,通过将这些库资产保留在资产/ JavaScript和资产/样式表目录之外,可以避免很多混乱,在这些情况下,sprockets等人对应该发生的事情有一些看法。 假设您已经从themeroller下载了自定义的jquery-ui zip文件。尝试这个: 将zip文件解压缩到资产目录的子目录中,例如
vendor/assets/jquery-ui-1.8.23.custom
在application.rb中添加:
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中,添加(指清单文件名):
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并向application.rb添加配置行     

要回复问题请先登录注册