Ruby on rails 从中的嵌套类调用Ruby模块方法
除了从嵌套类调用模块方法外,还有其他方法吗?守则:Ruby on rails 从中的嵌套类调用Ruby模块方法,ruby-on-rails,ruby,Ruby On Rails,Ruby,除了从嵌套类调用模块方法外,还有其他方法吗?守则: module GroupSweeper def expire_cache(paths) paths.each do |path| expire_page(path) end end class SweeperOne < ActionController::Caching::Sweeper include GroupSweeper observe Subject def a
module GroupSweeper
def expire_cache(paths)
paths.each do |path|
expire_page(path)
end
end
class SweeperOne < ActionController::Caching::Sweeper
include GroupSweeper
observe Subject
def after_save(subject)
expire_cache([root_path,subjects_path])
end
def after_destroy(subject)
expire_cache([root_path,subjects_path])
end
end
end
modulegroupsweeper
def缓存(路径)
路径。每个do |路径|
过期页面(路径)
终止
终止
类SweeperOne
如何从SweepOne中调用GroupSweeper的expire\u缓存方法而不明确地包含它
感谢您的支持。我可能错了,因为我自己对ruby还很陌生,但是这个类可能不应该包含它本身所属的模块
如果你用一个
结尾关闭模块,那么包含它的类应该可以工作。我可能错了,因为我自己对ruby很陌生,但是类可能不应该包含它本身所属的模块
如果你用一个结尾关闭模块,包括类中的应该可以工作。这里有一些循环依赖关系
- GroupSweeper定义了一个嵌套类
清扫员
- 清扫员包括
扫地者
那不行
要回答ruby方法/嵌套类问题,请执行以下操作:
module MyModule
def my_method
puts "yo yo yo"
end
class MySweetClass
def sweet_method
puts "swweeeeeeeeeeeet"
end
end
end
如果您想调用MySweetClass的sweet_方法,您将更改为:
module MyModule
def my_method
puts "yo yo yo"
MySweetClass.new.sweet_method
end
class MySweetClass
def sweet_method
puts "swweeeeeeeeeeeet"
end
end
end
#....
class MyClass
include MyModule
end
MyClass.new.my_method
然而!关于rails的清扫器,我认为你走错了方向。这个答案很有策略性,但我认为您应该提出一个问题,关于您正在尝试对rails清扫器做些什么。这里有一些循环依赖关系
- GroupSweeper定义了一个嵌套类
清扫员
- 清扫员包括
扫地者
那不行
要回答ruby方法/嵌套类问题,请执行以下操作:
module MyModule
def my_method
puts "yo yo yo"
end
class MySweetClass
def sweet_method
puts "swweeeeeeeeeeeet"
end
end
end
如果您想调用MySweetClass的sweet_方法,您将更改为:
module MyModule
def my_method
puts "yo yo yo"
MySweetClass.new.sweet_method
end
class MySweetClass
def sweet_method
puts "swweeeeeeeeeeeet"
end
end
end
#....
class MyClass
include MyModule
end
MyClass.new.my_method
然而!关于rails的清扫器,我认为你走错了方向。这个答案很有策略性,但我认为您应该提出一个问题,关于您在轨道清扫器方面的努力。谢谢。我最初是想把我所有的清扫工都放在一个文件里。然而,我刚刚了解到清扫者可以观察多个模型——所以我只需要一个。但是。。。如果是myweetclass
必须调用my_方法
??。例如,模块中的ruby服务需要从模块中调用共享方法。这些方法与来自同一模块的其他ruby服务共享。我最初是想把我所有的清扫工都放在一个文件里。然而,我刚刚了解到清扫者可以观察多个模型——所以我只需要一个。但是。。。如果是myweetclass
必须调用my_方法
??。例如,模块中的ruby服务需要从模块中调用共享方法。这些方法与来自同一模块的其他ruby服务共享