10

很多jQuery插件具有下列目錄結構:有沒有一種「Rails方式」在資產管道中包含jQuery插件?

/<plugin name> 
../css 
../images 
../js 

的CSS文件通常都在他們的圖像相對鏈接。我想要做的是將這些插件包含在資產管道下的Rails Way,並希望不需要重命名文件引用以刪除相關鏈接。有沒有這樣的Rails Way?

它也可能是在資產管道中包含一個已經縮小的jQuery插件的矯枉過正?

+0

如何使用''// require_tree ./ [plugin_name]''來要求所有帶插件的目錄? – freemanoid

回答

2

據我所知,您應該嘗試將您的資產添加到推薦的加載路徑。如果你正在運行的應用程序有資產管道激活,就應該擴大的路徑在application.rb中

不舒爾後發現你的資產,如果這是你問什麼,但如果沒有,你應檢查:http://guides.rubyonrails.org/asset_pipeline.html#asset-organization

Remeber重啓服務器

1

我認爲你沒有收到答案的原因是因爲你不清楚你在問什麼。您是否問過把您的插件放在資產管道中是否過分?你問你是否必須重命名文件引用?

我總是把我所有的jquery插件放在資產管道中。矯枉過正或者不是,它們都在一個地方,它們只被編譯一次,即使編譯它們需要更長的時間,它也不會影響我的應用程序。

+0

儘管這些插件通常有自己的目錄結構。你保留這些,還是將CSS移動到/ stylesheets目錄,將圖片移動到/ images目錄等? – AKWF

+0

這是我感到困惑的部分。因爲如果我保留插件的目錄結構,我/ assets資源管道的哪個子目錄放置它? – AKWF

+0

我個人將CSS移動到/ stylesheets目錄,並將圖像移動到/ images目錄,然後根據需要更改路徑。你幾乎可以進入css文件,並找到「url」,然後你會捕獲所有的圖像路徑。 – Catfish

2

我有同樣的問題,並試圖找到「Rails的方式」來做到這一點。而這也正是我結束了在這一天結束:

正如羅布已經提到:

供應商/資產是由外部實體擁有的資產,比如JavaScript代碼插件和CSS框架。

來源:2.1 Asset Organization

讓我們一個實際的例子:使用jquery_datepicker寶石(注:我們必須使用,因爲這個問題的解決方法:bundle pack does not work with git sources)。

1)安裝寶石(相當簡單明瞭):

cd vendor/gems 
git clone https://github.com/albertopq/jquery_datepicker.git 

2)添加到您的Gemfile

gem 'jquery_datepicker', :path => 'vendor/gems/jquery_datepicker' 

3)安裝一個jQuery UI的主題

  • ThemeRoller選擇主題,勾選Datepicker和Slider 和jQUery版本
  • 下載並解壓包的內容從css/theme-name文件夾
  • CSS /圖像移動:
    • jquery-ui-1.8.xx.custom.cssapp/vendor/stylesheets/
    • images文件夾app/vendor/images/(是,將整個文件夾images所以你最終了類似從development-bundle/ui/i18n文件夾(可選)這個app/vendor/images/images/ui-icons_256x240.png
  • 國際化將它們移動到:
    • 創建i18napp/vendor/javascripts/
    • 移動jquery.ui.datepicker-xx.js到這個文件夾app/vendor/javascripts/i18n/
    • 確保i18n文件夾裝入時的文件夾包括在application.js
//= require_directory ./i18n

vendor/assets被自動加載AFAIK所以您不必在資產管道中包含路徑。

我想看看別人如何接近這一點,這是一個非常好的問題。

相關問題