Method: AbstractController::Layouts::ClassMethods#layout

Defined in:
lib/abstract_controller/layouts.rb

#layout(layout, conditions = {}) ⇒ Object

Specify the layout to use for this class.

If the specified layout is a:

String

the String is the template name

Symbol

call the method specified by the symbol, which will return the template name

false

There is no layout

true

raise an ArgumentError

nil

Force default layout behavior with inheritance

Parameters

  • layout - The layout to use.

Options (conditions)

  • :only - A list of actions to apply this layout to.

  • :except - Apply this layout to all actions but this one.



261
262
263
264
265
266
267
268
269
# File 'lib/abstract_controller/layouts.rb', line 261

def layout(layout, conditions = {})
  include LayoutConditions unless conditions.empty?

  conditions.each {|k, v| conditions[k] = Array(v).map {|a| a.to_s} }
  self._layout_conditions = conditions

  self._layout = layout
  _write_layout_method
end