在rails app中使用自定义功能

时间:2012-01-29 12:36:52

标签: ruby-on-rails class

我正在尝试按照以下答案中关于在rails中使用自定义函数的简短示例:

http://stackoverflow.com/questions/2879679/where-to-put-code-snippets-in-rails

在lib / math.rb中的math.rb

module Math
    class << self
        def cube_it(num)
          num*3
        end
    end
end

在rails控制台中,我尝试了

include Math
Math.cube_it(2)

但我收到错误:

NoMethodError: undefined method 'cube_it' for Math:module

1 个答案:

答案 0 :(得分:1)

检查config / application.rb以获取下一行

# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths += %W(#{config.root}/lib)

因此,如果您仍有无法加载的扩展名,则可以输入

require 'math'

并重新检查

而不是call require,您可以创建config / initializers / lib.rb

  

Dir [File.join(Rails.root,“lib”,“* .rb”)]。每个{| l |要求l}