2011-03-24 31 views
0

我目前正在嘗試構建2個不同的Rails 3應用程序,但是,我希望這兩個應用程序都包含我創建的相同基本樣式和核心JavaScript函數。在這兩個應用程序中共享這些資產的最佳方式是什麼,以便我仍然可以快速開發並且不會重複資產並可能使其不同步?如何跨Rails應用程序共享js/css /圖像?

任何建議,非常感謝。

回答

1

這是一個幾年,因爲這是問,現在也有一些其他的解決方案:

這兩種解決方案都需要爲要共享的軟件包提供元數據,然後sp在想要使用它們的應用程序中指定該軟件包(在RubyGems的Gemile或Bower的Bowerfile/bower.json中)。

然後,您安裝軟件包,並在application.js和/或application.css中添加對它的引用,並且您將參加比賽!

0

我會設置一個符號鏈接系統。將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 
+0

感謝您的回覆。糾正我,如果我錯了,但我可能需要爲每個開發人員手動設置符號鏈接,因爲符號鏈接不能添加到vcs?也許只是一個根本的腳本,新的debs可以運行一次而不用擔心它? – Chris 2011-03-24 07:37:09

+0

另一個問題是,這個問題的發展必須在Windows上完成(確切地說是XP)。爲這個東西創建一個Rails插件會值得嗎? – Chris 2011-03-24 13:43:38

+0

那麼......這個插件到底會做什麼?將所有內容移動到父目錄並設置符號鏈接結構?這可能是值得的。您可能會考慮Capistrano,這是一種類似的部署工具。你可以將它彎曲成你想要的。是的,你需要爲每個開發者做這件事。我不知道會有更多。唯一的解決辦法是檢查根目錄到你的倉庫,並且有兩個應用程序在那裏(不理想)。 – jaredonline 2011-03-24 18:16:44