module ActionController::Flash::ClassMethods

Public Instance Methods

add_flash_types(*types) Show source
# File actionpack/lib/action_controller/metal/flash.rb, line 31
def add_flash_types(*types)
  types.each do |type|
    next if _flash_types.include?(type)

    define_method(type) do
      request.flash[type]
    end
    helper_method type

    self._flash_types += [type]
  end
end

Creates new flash types. You can pass as many types as you want to create flash types other than the default alert and notice in your controllers and views. For instance:

# in application_controller.rb
class ApplicationController < ActionController::Base
  add_flash_types :warning
end

# in your controller
redirect_to user_path(@user), warning: "Incomplete profile"

# in your view
<%= warning %>

This method will automatically define a new method for each of the given names, and it will be available in your views.

© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.