diff options
Diffstat (limited to 'actionpack/lib/abstract_controller')
-rw-r--r-- | actionpack/lib/abstract_controller/layouts.rb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/actionpack/lib/abstract_controller/layouts.rb b/actionpack/lib/abstract_controller/layouts.rb index 24a3923447..39a389dcb9 100644 --- a/actionpack/lib/abstract_controller/layouts.rb +++ b/actionpack/lib/abstract_controller/layouts.rb @@ -185,6 +185,8 @@ module AbstractController # ==== Returns # Boolean:: True if the action has a layout, false otherwise. def action_has_layout? + return unless super + conditions = _layout_conditions if only = conditions[:only] @@ -297,6 +299,16 @@ module AbstractController end end + attr_writer :action_has_layout + + def initialize(*) + @action_has_layout = true + end + + def action_has_layout? + @action_has_layout + end + private # This will be overwritten by _write_layout_method @@ -353,9 +365,5 @@ module AbstractController def _include_layout?(options) (options.keys & [:text, :inline, :partial]).empty? || options.key?(:layout) end - - def action_has_layout? - true - end end end |