2011-06-04 88 views
17

我已经将//=require jquery-ui添加到了我的application.js文件中,并且似乎给了我JavaScript,但我似乎无法获取要包含的样式表。如果我理解正确的话,他们应该去vendor/stylesheets,但我如何让他们被包括在内?从the jquery-rails manual如何将jquery-ui添加到Ruby on Rails 3.1应用程序中?

+1

Duplicate:http://stackoverflow.com/questions/6133818/rails-3-1-and-jquery-ui-assets – epochwolf 2011-07-04 23:43:21

+0

@epochwolf真棒,谢谢! – chris 2011-07-05 10:19:55

回答

6

报价:

为了使用jQuery UI的主题部分,您还需要提供自己的主题CSS。有关更多信息,请参阅jqueryui.com。

所以,你必须包括或自己的风格!只需在页面的标题中加入主题.css即可。在Rails 3中,您将css放在public/stylesheets,不知道Rails 3.1。

11

您可以使用google CDN在应用程序头部分添加css主题。只需在%head部分下添加这个application.html.haml(或者将相同的东西翻译成erb)即可。

CSS的主题

%link{:href => "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.8/themes/ui-lightness/jquery-ui.css", :rel => "stylesheet", :type => "text/css"} 

如果您想要的jQuery UI的精缩。

%script{:src => "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.8/jquery-ui.min.js"} 
+0

是的,这是一个选项,但我想找出如何包含来自供应商/资产/样式表的文件,如果这确实是它的意图。 – chris 2011-06-04 19:57:42

+0

将jqeury-ui.css下载到public/stylesheets /并执行stylesheet_link_tag(“jquery-ui”),您也可以将它放到其他目录中,只需更改路径即可。 – daniel 2011-06-04 20:13:54

+0

是的,它可以很好地工作,但不能将它合并到application.css中,就像js一样?我是新手,所以请原谅我的无知。 – chris 2011-06-04 21:13:29

8

如果您在Gemfile中的jQuery UI的 'jQuery的轨道' 将被包括在需要的application.js此:

// =需要jQuery的ui.min

如果你在Console中运行:Rails.application.config.assets.paths你会得到Rails将要查找资产的所有路径。在我的情况下,例如:

- /Users/aldo/Satio/Desarrollo/rails/subaquaclub/app/assets/images 
- /Users/aldo/Satio/Desarrollo/rails/subaquaclub/app/assets/javascripts 
- /Users/aldo/Satio/Desarrollo/rails/subaquaclub/app/assets/stylesheets 
- /Users/aldo/Satio/Desarrollo/rails/subaquaclub/vendor/assets/javascripts 
- /Users/aldo/Satio/Desarrollo/rails/subaquaclub/vendor/assets/stylesheets 
- /Users/aldo/.rvm/gems/[email protected]/gems/jquery-rails-1.0.13/vendor/assets/javascripts 

看到最后一行?如果你在那里检查,你会发现jquery-ui,所以你去。

+0

太棒了。工作很好。由于我不需要jQuery UI,因此我将上面的require行添加到我的控制器的js文件(Rails 3.1,例如projects.js.coffee) – Ryan 2012-05-22 01:37:01

2

如果您对jQuery的Gemfile中护栏,只是做:

//= require jquery-ui 

//= require jquery-ui.min 

都将正常工作。如果没有,尝试更新jQuery的轨道宝石

不要忘了css文件,在这里我也跟着上的其他回答一些文章:Ruby on Rails 3.1 and jQuery UI images得到它通过这种方式工作:

*= require jquery-ui/jquery-ui.css 

这是对于文件的路径:

vendor/assets/stylesheets/jquery-ui/jquery-ui.css 
vendor/assets/images/jquery-ui/images/ (your theme images) 
4

jquery-rails不再拥有jquery-ui作为其资产的一部分。你应该使用gem 'jquery-ui-rails'

此外,找出资产即将形式的轨道,你可以做到以下几点:

paths = Rails.application.config.assets.paths 
for path in paths do 
    puts "Found in: #{path}" if Dir.glob("#{path}/*").grep(/jquery-ui/).present? 
end 

这应该可以很容易找到的资产。

5

只记得//= require jquery.ui.all需求是后//= require_tree .

浪费了我很多时间,因为这是最jQuery UI的功能将无法正常工作。

相关问题