1
我有一個面向另一個應用程序的Rails 2.3.12應用程序。致電其他應用foo
;發送到我的應用程序的所有URI將以/foo
開頭。我的Rails應用程序需要處理這些案件:Rails 2.3.12:分別路由'GET/foo','PUT/foo'和'<any>/foo/bar'
GET /foo
- 我的應用程序直接處理(返回一個什麼樣的支持列表)<anything-else> /foo
- 返回401(即,GET
是唯一支持的HTTP動詞)<anything> /foo/<anything>
- 由我的應用程序處理,傳遞給foo
應用程序。
不幸的是,我所有的努力迄今已造成一切由兩種情況1 & 2或情況3.這列裝就是我在我的routes.rb
的時刻:
map.root(:controller => 'application',
:action => 'render_401_unauthorised')
map.connect('fooapp/*fooapp_ep_path',
:controller => 'foo',
:action => 'parsepath')
map.connect('fooapp',
:controller => 'other_controller',
:action => 'index',
:conditions => { :method => :get })
map.connect('fooapp',
:controller => 'application',
:action => 'render_401_unauthorised')
我想我的問題會消失,如果我能保證在第一map.connect
會只有比賽如果*fooap_ep_path
不爲空 - 即,正則表達式匹配%r!/foo/.+!
可以這樣做嗎?
謝謝!
更新如果有任何的方式來指定一個水珠路徑必須將[無]空,這可能會提供必要的膠水。