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.



251
252
253
254
255
256
257
258
259
# File 'lib/abstract_controller/layouts.rb', line 251

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

  @_layout = layout
  _write_layout_method
end