查找方法委托给的类? (路轨)

时间:2019-03-10 12:50:51

标签: ruby-on-rails ruby ruby-on-rails-5.2

如果我使用delegate :Mayfield, to: :user

我可以在:Mayfield上调用什么以查看将其委托给:user类吗?

解决方案: 不可能

1 个答案:

答案 0 :(得分:1)

正如@BKSpurgeon指出的那样,delegate方法的implementation除了创建可调用对象上给定方法的方法外,什么也不会做。

因此,没有“动态”委托:只需实现一个具有相同名称的常规方法,并使其返回所需的任何值即可。

def Mayfield
  case some_attribute_value
  when 'foo' then user.Mayfield
  when 'bar' then something_else.Mayfield
  end
end