Предположим, у меня есть 2 компонента, которые не связаны (с помощью реквизитов) A и B. Они связаны, но с помощью базы данных, у A есть кнопка, которая позволяет ему изменять базу данных. И я хочу, чтобы B перерисовывал (не всю страницу) при изменении базы данных, возможно ли это?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


&. называется оператором безопасной навигации, который был представлен в ruby 2.3, он работает аналогично методу try! и возвращает nil, если объект равен nil, иначе возвращает значение атрибута объекта.
object = OpenStruct.new(a: 1)
object&.a
# => 1
object = nil
object&.a
# => nil
object.a
# Traceback (most recent call last):
# 1: from (irb):21
# NoMethodError (undefined method `a' for nil:NilClass)
В приведенном выше примере вы можете увидеть разницу, когда мы вызываем a объект с оператором &. и без него.
См. ТАК ответ для получения более подробной информации об этом.