2013-04-09 78 views
2

假设我有一个像Digg这样的网站在bookmarks.com上运行,并且想要创建共享所有路线的bookmarks.com/girls,但所有链接都指向/girls/<something>而不仅仅是/<something>如何在'/ someurl'上运行'/'上运行的应用程序的副本?

不改变视图的所有环节,我想修改routes.rb做这样的事情:

all_routes = lambda { 
    ... 
} 

scope '/girls', &all_routes, constraint: { |r| r.session[:subsite] == girls } 
scope '/', &all_routes 

但是我坚持试验和错误,并没有能够拿出一个解。

积分:如果我有动态多个子网站,我将如何路由此?

回答

0

我想你可以通过继承您的Rails应用程序,然后使用你的路由Rack.mount

mount AnotherRailsApp, :at => "/something" 

或者安装它做到这一点,你可以使用一个rackup文件,所以在config.ru:

map "/" do 
    run RailsApp::Application 
end 

map "/something" do 
    run AnotherRailsApp::Application 
end 

但是,不管采用哪种方法,我不知道Rails的针对URL辅助方法就能当安装在‘/某事’生成有效的URL,你可能会得到一些有趣的问题与您的数据除非你有每个应用程序一个分贝。

+0

听起来不错,但看起来像Rails不喜欢这样。 ('你不能从Rails :: Application子类(RuntimeError)'继承) – hakunin 2013-04-09 09:56:17

相关问题