2013-04-09 46 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