我目前正在嘗試構建2個不同的Rails 3應用程序,但是,我希望這兩個應用程序都包含我創建的相同基本樣式和核心JavaScript函數。在這兩個應用程序中共享這些資產的最佳方式是什麼,以便我仍然可以快速開發並且不會重複資產並可能使其不同步?如何跨Rails應用程序共享js/css /圖像?
任何建議,非常感謝。
我目前正在嘗試構建2個不同的Rails 3應用程序,但是,我希望這兩個應用程序都包含我創建的相同基本樣式和核心JavaScript函數。在這兩個應用程序中共享這些資產的最佳方式是什麼,以便我仍然可以快速開發並且不會重複資產並可能使其不同步?如何跨Rails應用程序共享js/css /圖像?
任何建議,非常感謝。
這是一個幾年,因爲這是問,現在也有一些其他的解決方案:
這兩種解決方案都需要爲要共享的軟件包提供元數據,然後sp在想要使用它們的應用程序中指定該軟件包(在RubyGems的Gemile
或Bower的Bowerfile
/bower.json
中)。
然後,您安裝軟件包,並在application.js
和/或application.css
中添加對它的引用,並且您將參加比賽!
我會設置一個符號鏈接系統。將RAILS_ROOT/public/javascripts和RAILS_ROOT/public/images文件夾移至兩個應用程序的RAILS_ROOT之外,並用符號鏈接替換它們。所以,你有這樣的目錄結構:
root
|
-app 1
|
- public
|
- images -> ../../../root/shared/public/images
|
- javascripts -> ../../../root/shared/public/javascripts
|
-app 2
|
- public
|
- images -> ../../../root/shared/public/images
|
- javascripts -> ../../../root/shared/public/javascripts
|
- shared
|
- public
|
- images
|
- javascripts
感謝您的回覆。糾正我,如果我錯了,但我可能需要爲每個開發人員手動設置符號鏈接,因爲符號鏈接不能添加到vcs?也許只是一個根本的腳本,新的debs可以運行一次而不用擔心它? – Chris 2011-03-24 07:37:09
另一個問題是,這個問題的發展必須在Windows上完成(確切地說是XP)。爲這個東西創建一個Rails插件會值得嗎? – Chris 2011-03-24 13:43:38
那麼......這個插件到底會做什麼?將所有內容移動到父目錄並設置符號鏈接結構?這可能是值得的。您可能會考慮Capistrano,這是一種類似的部署工具。你可以將它彎曲成你想要的。是的,你需要爲每個開發者做這件事。我不知道會有更多。唯一的解決辦法是檢查根目錄到你的倉庫,並且有兩個應用程序在那裏(不理想)。 – jaredonline 2011-03-24 18:16:44