module ProjectLayout extend ActiveSupport::Concern included do layout "project" breadcrumb -> { t("shared.files") }, -> { project_for_layout }, match: :exact breadcrumb -> { controller_name.titleize }, -> { [project_for_layout, controller_name] }, match: :exact breadcrumb -> { action_name.titleize }, :url_for, only: [:new, :edit] def project_for_layout @project || instance_variable_get("@#{controller_name.singularize}").project end end end