Ruby on rails 如何将jquery ui添加到RubyonRails3.1应用程序中?

Ruby on rails 如何将jquery ui添加到RubyonRails3.1应用程序中?,ruby-on-rails,jquery-ui,Ruby On Rails,Jquery Ui,我在application.js文件中添加了/=require jquery ui,这似乎给了我javascript,但我似乎无法获得要包含的样式表。如果我理解正确,他们应该进入供应商/样式表,但我如何才能将他们包括在内?引用自: 为了使用jQueryUI的主题部分,您还需要提供自己的主题CSS。有关更多信息,请参见jqueryui.com 所以,你必须包括或风格他们自己!只需在页面标题中包含主题的.css。在Rails 3中,您可以将css放在Rails 3.1的公共/样式表中。您可以使用go

我在application.js文件中添加了
/=require jquery ui
,这似乎给了我javascript,但我似乎无法获得要包含的样式表。如果我理解正确,他们应该进入
供应商/样式表
,但我如何才能将他们包括在内?

引用自:

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


所以,你必须包括或风格他们自己!只需在页面标题中包含主题的
.css
。在Rails 3中,您可以将css放在Rails 3.1的
公共/样式表中。

您可以使用google CDN将css主题添加到应用程序的头部部分。只需将这个application.html.haml添加到%head部分下(或者将相同的内容翻译成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"}
如果您想缩小jqueryui

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

正如《时代狼》在评论中指出的那样,denysonique在这个问题上有答案


如果在Gemfile中包含“jquery rails”,则jquery ui将包含在application.js中:

//=需要jquery-ui.min

如果您在控制台中运行:
Rails.application.config.assets.path
,您将获得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,就在那里。

如果您在Gemfile上有jquery rails,只需执行以下操作:

//= require jquery-ui

两者都可以很好地工作。如果没有,请尝试更新jquery rails gem

别忘了css文件,在这里我跟随了一些关于另一个答案的文章:并通过以下方式使其工作:

*= require jquery-ui/jquery-ui.css
这是文件的路径:

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

也许更容易使用(请参阅)。它将所有内容打包,以便“正常工作”。

jQueryRails不再将jQueryUI作为其资产的一部分。为此,您应该使用
gem'jqueryuirails'

此外,要了解资源在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。所有的
都需要在
/=require\u树之后。


因为这一点,我浪费了很多时间,因为大多数Jquery UI功能都不起作用。

是的,这是一个选项,但我想知道如何包含来自供应商/资产/样式表的文件,如果这确实是我想要的。将jqeury-UI.css下载到public/stylesheets/并执行样式表链接标记(“Jquery UI”)你也可以把它放在其他目录中,只需更改路径。是的,这也可以,但是不能像js那样将它合并到application.css中吗?我是rails新手,请原谅我的无知。您也可以使用:all作为源:stylesheet\u link\u tag:allI尝试过,但供应商/资产/样式表中的文件似乎没有包括在内。重复:真棒。工作得很好。因为我不需要到处都使用jQuery UI,所以我在控制器的js文件(Rails 3.1,例如projects.js.coffee)中添加了上面的require行
paths = Rails.application.config.assets.paths
for path in paths do
  puts "Found in: #{path}" if Dir.glob("#{path}/*").grep(/jquery-ui/).present?
end