サブディレクトリ内のコントローラに同一ディレクトリ内のapplication.rhtmlを適用
admin/top_controller.rbにはviews/layouts/admin/application.rhtmlを自動的に適用して欲しかったので、とりあえず次のようにしてみた。
app/controller/application.rb
class ApplicationController < ActionController::Base class <<self def default_layout_with_subdirectory l = default_layout_without_subdirectory if l == 'application' and name.include? '::' subdir_layout = "#{File.dirname name.underscore}/application" if File.exist? "#{RAILS_ROOT}/app/views/layouts/#{subdir_layout}.rhtml" return subdir_layout end end l end alias_method_chain :default_layout, :subdirectory end # 以下略
(注)application.rxmlには対応してません。