私のアプリは2つのレールサーバーで構成されていて、主に異なる懸念事項がリバースプロキシの背後にある。それらをServer1とServer2と呼ぶことにしましょう。場合によっては、Server1はServer2上のURLへのリンクをレンダリングする必要があります。このためにRailsルートヘルパーを使用する良い方法はありますか?特にRails 2では?ルートヘルパーを他のホストに作成する「Rails Way」とは何ですか?
ActionController::Routing::Routes.draw do |map|
# other routes omitted
map.with_options(:host => 'server2.example.com') do |add|
# create a named route for 'http://server2.example.com/thingies'
add.server2_thingies '/thingies', :controller => 'fake'
# create a named route for 'http://server2.example.com/thingies/combobulate'
add.enhance_server2_thingies '/thingies/combobulate', :controller => 'fake'
# create a named route for 'http://server2.example.com/mabobs/combobulate'
add.enhance_server2_mabobs '/mabobs/combobulate', :controller => 'fake'
# etc..
end
end
それでは、私は私の意見でserver2_thingies_url
と、このようなを使用することができます。私はこの思い付きました。これは動作しますが、それはFakeController
が存在しないため、私に悪い人のように感じさせてしまいます。私は確かにその要求をルーティングするつもりはありません。私はヘルパーメソッドを作ってapp/controllers/application_controller.rb
に配置することを検討しましたが、同僚はroutes.rbにすべてのルートヘルパーを保存することをお勧めしました。例えばrake routes
のようなものは正確です。より良い方法がありますか?