如何将jquery-ui添加到Ruby on Rails 3.1应用程序中?

我已经将//=require jquery-ui到我的application.js文件中,这似乎给了我javascript,但我似乎无法将样式表包含在内。 如果我理解它,他们应该进入vendor/stylesheets但我如何将它们包括在内?

也许使用jquery-ui-rails gem更容易(见公告 )。 它把所有东西打包起来,所以“只是工作”。

您可以使用Google CDN在应用的head部分添加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"} 

如果在Gemfile中包含’jquery-rails’,那么jquery-ui将包含在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/ruby-1.9.2-p290@subaquaclub31/gems/jquery-rails-1.0.13/vendor/assets/javascripts 

看到最后一行? 如果你在那里办理登机手续,你会发现jquery-ui所以你去了。

引用jquery-rails手册 :

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

所以,你必须自己包括或设计它们! 只需在页面标题中包含主题的.css 。 在Rails 3中,你将css放在public/stylesheets ,不知道Rails 3.1。

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

此外,要了解资产在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 

这样可以轻松找到资产。

记住//= require jquery.ui.all需要在//= require_tree .

由于大多数Jquery UIfunction都无法工作,因此浪费了我很多时间。

在评论中,epochwolf指出,denysonique在这个问题上有答案。

Rails 3.1和jquery-ui资产

如果你在Gemfile上有jquery-rails,那就做:

 //= require jquery-ui 

要么

 //= require jquery-ui.min 

两者都会很好。 如果没有,请尝试更新jquery-rails gem

不要忘记css文件,在这里我跟着一些关于其他答案的文章: Ruby on Rails 3.1和jQuery UI图像并通过这种方式使它工作:

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

这是文件的路径:

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