我有一个类初始化。
我有一个方法send_mail,它是一个类方法
def self.send_mail
a = user_stats
end
user_stats是一个私有方法,当我尝试调用此方法时,它会抛出错误
class << self
private
def user_stats
true
end
end
当我尝试访问user_stats时,
undefined method 'user_stats' for Initialization
也试过
class << self
def self.send_mail
a = user_stats
end
private
def user_stats
true
end
end
答案 0 :(得分:3)
你的两种方法都是正确的,但在后者中你不应该使用self
,因为你已经在Initialization
的本征类中定义了方法:
class Initialization
class << self
def send_mail
a = user_stats
end
private
def user_stats
true
end
end
end
Initialization.send_mail
# => true
你的第一种方法对我也有用:
class Initialization
def self.send_mail
a = user_stats
end
class << self
private
def user_stats
true
end
end
end
Initialization.send_mail
# => true