如何访问rails中类方法之外的内容?我得到一个错误,如未定义的方法do_something_else
module Thing
def self.do_something
do_something_else
end
def do_something_else
end
end
答案 0 :(得分:0)
Here's a good reference显示class_methods/singleton_methods
和instance_methods
之间的差异。
在您的情况下,如果没有实例,则无法访问实例方法(do_something_else
)。
要解决此问题,您必须将模块包含在类中并使用该类的实例。
module Thing
def self.do_something
Logic.new.do_something_else
end
def do_something_else
#perform the logic and actions here
end
end
class Logic
include Thing
end
如果你想以不同的方式思考,这就是我的建议:
module Thing
def self.do_something_else
# perform your logic and actions here
end
def do_something
# this is possible because do_something_else is defined on the module Thing
Thing.do_something_else
end
end
答案 1 :(得分:0)
试试这个
select exprid [id] from
(select 1 [id],2 [expid]
) s
unpivot (exprid for col in (id,expid)) as t2