Новое в 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 %>
В
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
Rails 4