如何在rails lib文件夹中使用特定视图的模块方法

时间:2011-08-27 22:30:26

标签: ruby ruby-on-rails-3

嗨,假设我的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

1 个答案:

答案 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规则。