2011-03-24 77 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