self.attribute
вызывает метод attribute
.
self.attribute = value
вызывает метод attribute=
с аргументом value
.
@attribute
и @attribute = value
получает / устанавливает значение экземплярапеременная @attribute
.
Таким образом, в основном это две совершенно разные вещи.
Однако, если вы вызываете attr_accessor :attribute
, это определяет метод attribute
для возврата @attribute
и метод attribute=(value)
для установки @attribute = value
.Так что в этом случае разницы нет.