【发布时间】:2011-09-08 09:45:27
【问题描述】:
我已将 //=require jquery-ui 添加到我的 application.js 文件中,这似乎给了我 javascript,但我似乎无法获得要包含的样式表。如果我理解正确,他们应该进入vendor/stylesheets,但我如何让他们被包括在内?
【问题讨论】:
我已将 //=require jquery-ui 添加到我的 application.js 文件中,这似乎给了我 javascript,但我似乎无法获得要包含的样式表。如果我理解正确,他们应该进入vendor/stylesheets,但我如何让他们被包括在内?
【问题讨论】:
记住//= require jquery.ui.all必须在//= require_tree .之后
因此浪费了我很多时间,因为大多数 Jquery UI 功能都不起作用。
【讨论】:
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
这应该可以很容易地找到资产。
【讨论】:
也许使用jquery-ui-rails gem 更容易(参见announcement)。它将所有内容打包,以便“正常工作”。
【讨论】:
如果您在 Gemfile 上有 jquery-rails,只需执行以下操作:
//= require jquery-ui
或
//= require jquery-ui.min
两者都可以正常工作。如果没有,请尝试更新 jquery-rails gem
不要忘记 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)
【讨论】:
如果您在 Gemfile 中包含“jquery-rails”,则 jquery-ui 将被包含在 application.js 中,需要这样做:
//= 需要 jquery-ui.min
如果您在控制台中运行: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 所以你去。
【讨论】:
如 epochwolf 在 cmets 中指出的那样,denysonique 在这个问题上有答案。
【讨论】:
您可以使用 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"}
【讨论】:
为了使用 jQuery UI 的主题部分,您还需要提供自己的主题 CSS。有关详细信息,请参阅 jqueryui.com。
因此,您必须自己包含或设置它们的样式!只需在页面标题中包含主题的.css。在 Rails 3 中,您将 css 放入 public/stylesheets,不知道 Rails 3.1。
【讨论】: