Cайт веб-разработчика, программиста Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Первоуральск

Админка на Ruby on Rails

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