2

管理コントローラーがあり、「/admin」パスのレイアウトを設定したい。

私は次のようにしようとします:

scope '/admin' do
  layout 'admin' # did't work
  get '/' => 'admin#index', as: 'admin'
  resources :posts, as: 'admin_posts'
end

AdminControllerで次のようにレイアウトを設定できます。

class AdminController < ApplicationController
  layout 'admin'
end

ただし、「/ admin」パスから呼び出すすべてのコントローラーに何らかのレイアウトを合理的に使用するため、これは悪い方法です。

どうすればいいですか?

4

1 に答える 1

4

ルートに直接レイアウトを設定することはできません。rb

私はあなたがすることは正しい方法だと思います

class AdminController < ApplicationController
  layout 'admin'
end

次に、AdminControllerを使用して、管理スコープで他のコントローラーを生成します

class UsersController < AdminController
end

または名前空間にある場合

class Admin::UsersController < AdminController
end

私があなたの質問を理解したなら、それは私がすることです。

于 2012-08-04T11:54:54.303 に答える