这是我知道的一个奇怪的。我试图将两个Rails应用程序,v3和v2.3.5绑定在一起。我希望它们共享相同的域,并且为了在不更改旧应用程序中的URL的情况下执行此操作,我正在尝试找到一种方法来覆盖Rails路由器。覆盖Rails路由器
我希望新的应用程序住在域的根,并在几个目录前辈之一。例如:
/ => app1 # v3
/users => app1
/employees => app2 # v2.3.5
/payrolls => app2
所以,既然APP1住在根和我使用的是乘客,我只需要创建APP1的public
文件夹符号链接APP2的公用文件夹,就像这样:
app1/public/employees => app2/public
app1/public/payrolls => app2/public
然后我添加RailsBaseURI /employees
和RailsBaseURI /payrolls
Apache的配置。
由于我可以使app2的旧URL工作,但在应用程序内部,链接指向前缀。例如,/employees/1
,/employees/employees/1
,/payrolls/employees/1
所有的工作,但链接的应用点/employees/employees/1
和/payrolls/employees/1
根据我目前使用的前缀。
所以,我需要从链接中删除该前缀,所以只有旧的网址工作。
我需要做到这一点,以释放新的应用程序。到时候我会把旧版本升级到v3并直接处理这个问题,但现在任何黑客都可以正常工作。
我不希望有解决方案,但是如果你能指出我在哪里寻找Rails源代码的正确方向,或者可能是我没有看到的更简单的方法,我会非常感激。
这是可能的,因为我已经完成了。我知道我的例子和解释是有点人为的,但它确实有效。唯一的问题是生成的链接。我想我已经找到了一个解决方案,我将在测试后立即发布。尽管如此,感谢您的意见! – Ivan 2011-02-15 17:28:30