2011-06-04 95 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的功能將無法正常工作。

相關問題