bec*_*076 18 ruby ruby-on-rails
我想在我的一个Rails模型上为一个类方法添加别名.
def self.sub_agent
id = SubAgentStatus.where(name: "active").first.id
where(type: "SubAgent",sub_agent_status_id: id).order(:first_name)
end
Run Code Online (Sandbox Code Playgroud)
如果这是一个实例方法,我会简单地使用alias_method,但这对类方法不起作用.如何在不重复方法的情况下执行此操作?
moh*_*him 29
您可以使用:
class Foo
def instance_method
end
alias_method :alias_for_instance_method, :instance_method
def self.class_method
end
class <<self
alias_method :alias_for_class_method, :class_method
end
end
Run Code Online (Sandbox Code Playgroud)
或尝试:
self.singleton_class.send(:alias_method, :new_name, :original_name)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6544 次 |
| 最近记录: |