访问lib目录中的模块(Ruby on rails)

我试图访问位于我的应用程序的lib目录中的模块中的函数。 (LIB / search.rb)

我实际上是想通过以下方式获取邮政编码: http : //joshhuckabee.com/simple-zip-code-perimeter-search-rails

LIB / search.rb

module Search def zip_code_perimeter_search(zip, radius) #code end end 

我试图从rails控制台或我的控制器调用zip_code_perimeter_search函数,两次我得到未定义的方法。 有任何想法吗?

在您的控制台/控制器中:

 include Search zip_code_perimeter_search(zip, radius) 

如果它没有在Rails 3中自动加载,在config / application.rb文件中,您可以这样做:

 # Custom directories with classes and modules you want to be autoloadable. config.autoload_paths += Dir["#{config.root}/lib/**/"] 

对于调用模块方法,直接将其包含在类中,然后在类实例上调用它。

 Class call_module_method include Search end 

现在

 call_module_method.new.zip_code_perimeter_search(zip, radius) 

将评估方法zip_code_perimeter_search(zip, radius)的代码