Spec-Zone.ru › Ruby on Rails 7.1

class ActionDispatch::Flash::FlashHash

Parent:
Объект
Included modules:
Enumerable

Публичные методы экземпляра

[](k) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 162
def [](k)
  @flashes[k.to_s]
end
[]=(k, v) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 156
def []=(k, v)
  k = k.to_s
  @discard.delete k
  @flashes[k] = v
end
alert() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 268
def alert
  self[:alert]
end

Удобный доступ к flash[:alert].

alert=(message) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 273
def alert=(message)
  self[:alert] = message
end

Удобный доступ к flash[:alert]=.

clear() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 197
def clear
  @discard.clear
  @flashes.clear
end
delete(key) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 182
def delete(key)
  key = key.to_s
  @discard.delete key
  @flashes.delete key
  self
end

Немедленно удаляет отдельную запись флэша. Используйте этот метод, когда необходимо удалить сообщение в текущем действии. См. также discard.

discard(k = nil) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 253
def discard(k = nil)
  k = k.to_s if k
  @discard.merge Array(k || keys)
  k ? self[k] : self
end

Помечает весь флэш или отдельную запись флэша для удаления к концу текущего действия:

flash.discard              # discard the entire flash at the end of the current action
flash.discard(:warning)    # discard only the "warning" entry at the end of the current action

Используйте этот метод, когда необходимо отобразить сообщение в текущем действии, но не в следующем. См. также delete.

each(&block) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 202
def each(&block)
  @flashes.each(&block)
end
empty?() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 193
def empty?
  @flashes.empty?
end
initialize_copy(other) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 148
def initialize_copy(other)
  if other.now_is_loaded?
    @now = other.now.dup
    @now.flash = self
  end
  super
end
Вызов метода суперкласса
keep(k = nil) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 240
def keep(k = nil)
  k = k.to_s if k
  @discard.subtract Array(k || keys)
  k ? self[k] : self
end

Оставляет доступным для следующего действия весь текущий флэш или конкретную запись флэша:

flash.keep            # keeps the entire flash
flash.keep(:notice)   # keeps only the "notice" entry, the rest of the flash is discarded
key?(name) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 176
def key?(name)
  @flashes.key? name.to_s
end
keys() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 172
def keys
  @flashes.keys
end
notice() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 278
def notice
  self[:notice]
end

Удобный доступ к flash[:notice].

notice=(message) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 283
def notice=(message)
  self[:notice] = message
end

Удобный доступ к flash[:notice]=.

now() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 232
def now
  @now ||= FlashNow.new(self)
end

Устанавливает флэш, который будет доступен только текущему действию, а не следующему.

flash.now[:message] = "Hello current action"

Этот метод позволяет использовать флэш как централизованную систему сообщений в вашем приложении. Когда вам нужно передать объект в следующее действие, используйте стандартное присваивание флэша ([]=). Когда вам нужно передать объект текущему действию, используйте now, и ваш объект исчезнет по завершении текущего действия.

Записи, установленные с помощью now , доступны так же, как и стандартные записи: flash['my-key'].

Также предоставляются два удобных метода доступа:

flash.now.alert = "Beware now!"
# Equivalent to flash.now[:alert] = "Beware now!"

flash.now.notice = "Good luck now!"
# Equivalent to flash.now[:notice] = "Good luck now!"
to_hash() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 189
def to_hash
  @flashes.dup
end

Защищенные методы экземпляра

now_is_loaded?() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 288
def now_is_loaded?
  @now
end

Приватные методы экземпляра

stringify_array(array) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 293
def stringify_array(array) # :doc:
  array.map do |item|
    item.kind_of?(Symbol) ? item.to_s : item
  end
end

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API