大規模な Web アプリを更新し、URL シノニム システムを取り除きます。たとえば、「広告主」には 1 つのモデルしか使用しませんが、同義のパスを使用して「業者」と「販売者」にエイリアスされます。したがって、/merchant/1 と /seller/1 は、advertiser/1 とまったく同じコントローラーとアクションを使用します。
この機能はもう必要ありませんが、ユーザーを適切な場所 (つまり、適切なコントローラー アクション) に正しくリダイレクトするには、古い URL が必要です。
これまでのところ、私は試しました:
1) http://guides.rubyonrails.org/routing.htmlを読む- これにより、次の提案を試すようになりました
2) match '/merchants' => redirect('/advertisers') - 構文は正しいようですが、これはまったく機能していないようです。
3) リソースの反復処理 (これにより大量のルートが生成され、不安が生じる可能性があります):
ADVERTISER_SYNONOYMS = ['affiliates', 'sellers']
ADVERTISER_SYNONYMS.each do |a|
resources :advertisers, :path => a, :as => :advertiser
resources :other_controller do
member do
get :test
match :generate_test
end
end
end
end
routes.rb でネストされたリソースを使用しているため、より複雑な URL 全体でこれらのシノニムを認識させるのに苦労しています。誰かがこの問題に対処したり、よりエレガントな提案をしたりした場合は、私は非常に感謝しています.