如何解决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添加配置行
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。