20

ネストされたリソースを使用していますが、よりわかりやすいコントローラー名に出くわします。

たとえば、私はコントローラーProductsControllerを持っていて、ImagesController

resources :products do
  resources :images
end

これは正常に機能しますが、後でImageController製品イメージ以外のforを使用する必要がある場合があるため、 ProductsImagesControllerという名前にする必要があります。

resources()しかし、次のような醜いものにフォールバックせずに、コントローラー名をオンに指定するにはどうすればよいですか?

match 'products/images' => 'products_images#index'
match 'products/images/new' => 'products_images#new'
4

2 に答える 2

33
resources :products do
  resources :images, :controller => "products_images"
end
于 2012-09-23T16:21:33.943 に答える
2

Zend Frameworkのバックグラウンドから来ているので、モジュラー構造を探していると思います。Railsは「名前空間」と呼ばれるこれを提供しているようです。

namespace :admin do
  resources :posts, :comments
end

これにより、Admin::PostsControllerおよびAdmin::CommentsControllerへのルートが作成されます。あなたの場合、Products::ImagesControllerがあります。

http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

私はこの他の受け入れられた答えから見つけました:レールのようなzendモジュール

于 2012-09-25T02:33:59.003 に答える