Посмотрите на класс, которому был делегирован метод?(Rails) - PullRequest
0 голосов
/ 10 марта 2019

Если я использую delegate :Mayfield, to: :user

Как мне позвонить: Mayfield, чтобы увидеть, что он был делегирован классу: user?

РЕШЕНИЕ: НЕ ВОЗМОЖНО

1 Ответ

1 голос
/ 10 марта 2019

Как уже указывал @BKSpurgeon, реализация метода delegate ничего не делает, но создает метод, который вызывает данный метод для объекта.

Таким образом, «динамического» делегирования не существует: просто реализуйте обычный метод с тем же именем и пусть он возвращает любое нужное вам значение.

def Mayfield
  case some_attribute_value
  when 'foo' then user.Mayfield
  when 'bar' then something_else.Mayfield
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...