嗨,假设我的rails lib文件夹中有一个模块,其中有一些方法,如下面的文件名 - my_module.rb:
my_module.rb
Module MyModule
class SystemModule
def some_method
...some cool stuff...
end
end
end
如果我想在我的控制器中使用,我会称之为:
require 'my_module'
MyModule::SystemModule.some_method
如何从视图模板中调用some_method(如帮助器方法)?我在哪里需要my_module.rb
答案 0 :(得分:1)
很抱歉,但你的代码搞砸了。
您无法在类上调用实例方法。所以你要么必须定义some_method,如
def self.some_method ...
或者您需要将其称为
MyModule::SystemModule.new.some_method
然后模块有点棘手。您需要拥有整个目录结构。您需要提供my_module目录。例如。 $ RAILS_ROOT / app / lib / my_module /在此模块中,您需要插入system_module.rb文件。
你应该阅读ruby如何处理模块,因为rails只是一个框架,并且适用了常见的ruby规则。