同じレイアウトを共有するさまざまな名前空間コントローラーがあります。
# /app/controllers/admin/dashboard.rb
class Admins::DashboardController < ApplicationController
...
end
# /app/controllers/clients/dashboard.rb
class Clients::DashboardController < ApplicationController
...
end
これは私のディレクトリ構造です:
App
|_ Controllers
| |_ Admins
| | |_ dashboard_controller.rb
| |_ Clients
| |_ dashboard_controller.rb
|
|_ Views
|_ Admins
| |_ Dashboard
| |_ index.html.erb
|
| |_ show.html.erb
|_ Clients
| |_ Dashboard
| |_ index.html.erb
| |_ show.html.erb
|_ layouts
|_ admin.html.erb
|_ _sidebar.html.erb
Admins
レイアウトが表示されているかどうかを判断したいClients
ので、正しいサイドバーを表示できます。次のようなものです。
<% if admins? %>
...
<% elsif clients? %>
...
<% end %>
また、これはこれにアプローチする最良の方法ですか、それともより良い解決策がありますか?