0

object.send(invoked_method_name)非常有用。但是我需要在课堂上这样做,Model.send(method_name_by_variable)而这是我做不到的。有什么建议吗?谢谢

4

1 回答 1

0

Model.send(method_name_by_variable)应该是可能的,如果

  • method_name_by_variable是在范围内Model

你如何测试它(我String在我的例子中使用,Model应该是一样的。

范围

测试您的方法是否是公共方法:

method_name_by_variable = :new
p String.public_methods.include?(method_name_by_variable) #-> true
p 'aa'.public_methods.include?(method_name_by_variable)  #-> false
于 2012-11-16T14:29:32.877 回答