2009-07-09 5 views
0

今日、私は自分のレールアプリで独特の動作を観察しています。一致するコントローラがない場合map.namespaceは後退しますか?

Iはroutes.rbを

map.namespace :admin do |admin| 
admin.resources :users 
end 

に次のルートを定義して、私は熊手を使用する場合:

admin_users GET /admin/users {:action => 'index, :controller => 'admin/users'} 
.... 
.... 

完全の両方名前空間される:ルート、Iは、予想通り、以下の経路を参照しますpath_prefixesとname_prefixesの用語

app/controllers(app/controllers/adminではなく)の下にUsersControllerがありますが、何とかレールがapp/controllers/adminの代わりにapp/controllersの下でUsersControllerをピックアップしていますが、コントローラーのために戻ってくる場所、見つからない場合はどこですか?

+0

ページに生成された実際のURLの例を表示できますか? –

答えて

0

routes.rbの下部に含まれるデフォルトのルートによって選択されている可能性があります。

map.connect ':controller/:action/:id' 
    map.connect ':controller/:action/:id.:format' 

あなたの目的のために、これは良いアイデアかもしれないように聞こえます。

+0

@Dave:フィードバックありがとうございます。実際には、私は少し前にこれらのデフォルトルートを削除しました。それでも、デフォルトのルートを使用している場合でも、Admin :: UsersControllerではなくUsersControllerを使用してadmin/users /:idを選択しています。なぜレールが間違ったコントローラを選んでいるのか分かりません。 – Dharam

関連する問題