我有兴趣了解find_by_(column_name)
的工作方式。
Ruby on Rails如何动态定义调用find_by_id
,find_by_name
等的方法?
答案 0 :(得分:2)
这是Ruby中元编程的强大功能,更具体地说,是method_missing
方法:https://ruby-doc.org/core-2.1.0/BasicObject.html#method-i-method_missing
当您在未在该类中定义的Class的实例上调用方法时,method_missing
会对其进行捕获,然后可以在那里进行处理。