Новое в Rails 4: Регистрация собственных типов flash
В Rails 3
была добавлена возможность указать параметры flash
:notice
и :alert
в вызове метода redirect_to
. Вместе с этим ActionController::Base#notice
и ActionController::Base#alert
были добавлены как средства доступа к flash[:notice]
и flash[:alert]
соответственно.
Чтобы установить пользовательский тип flash
в Вашем контроллере, Вы могли добавить пару ключ/значение к хешу flash
контроллера, или Вы могли также передать дополнительный хеш :flash
в redirect_to
.
В Rails 4
у разработчиков появилась возможность зарегистрировать свои собственные типы flash
при помощи нового ActionController::Flash.add_flash_types
метода в стиле макроса.
Rails 3
# app/controllers/users_controller.rb class UsersController < ApplicationController def create ... flash[:error] = "An error message for the user" redirect_to home_path end end # app/views/home/index <%= flash[:error] %>
Rails 4
# app/controllers/application_controller.rb class ApplicationController ... add_flash_types :error, :another_custom_type end # app/controllers/users_controller.rb class UsersController < ApplicationController def create ... redirect_to home_path, error: "An error message for the user" end end # app/views/home/index <%= error %>