使用机架在另一个rails 3 app中提供rails 3 app

时间:2012-08-02 03:28:40

标签: ruby-on-rails rack

我在rails 3应用程序中使用了rackup

  

rackup config.ru

这开始从端口9292提供rails应用程序

[2012-08-01 23:00:05] INFO  WEBrick 1.3.1
[2012-08-01 23:00:05] INFO  ruby 1.9.3 (2011-10-30) [x86_64-darwin11.2.0]
[2012-08-01 23:00:05] INFO  WEBrick::HTTPServer#start: pid=3887 port=9292

现在,我想在路径下的另一个rails 3 app(B)中使用这个Rails 3应用程序(A) (比如/ mycoolappB)。 根据我的学习,我需要通过添加一个来修改app B中的routes.rb match命令,可以将此路径指向App A.

这里的例子是给Sinatra :: Base。

http://asciicasts.com/episodes/222-rack-in-rails-3

所以,我想知道我在这里尝试做什么是可能的,如果是的话,那将是最好的方法。

提前感谢,

史蒂夫

1 个答案:

答案 0 :(得分:0)

一个想法 - 我对此事没有任何经验,所以请把它当作值得的东西:D

您可能想查看Rails引擎。我相信这将是你所描述的最佳方法。我们的想法是在app_a中安装app_b,以便app_a可以使用所有控制器,模型和路由。以下是一些资源:

http://edgeguides.rubyonrails.org/engines.html

Rails 3.1: Engine vs. Mountable App

http://www.astjohn.ca/2011/08/06/rails-31-engines-mountable-or-full-part-1