如何在Rails应用程序中使用模块

时间:2012-03-29 00:31:02

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

我刚在 / lib 文件夹中创建了一个模块 location.rb ,其中包含以下内容:

module Location
  def self.my_zipcode()
    zip_code = "11215"
  end
end

现在在我的控制器中我试图调用“my_zipcode”方法:

class DirectoryController < ApplicationController
  def search
    require 'location'
    zip_code = Location.my_zipcode()
  end
end

但它引发了一个错误:

  

未定义方法`my_zipcode'for Location:Module

2 个答案:

答案 0 :(得分:13)

您还可以将以下内容添加到config / application.rb

config.autoload_paths + =%W(#{config.root} / lib)

它应该自动加载您的模块而无需重新启动rails。

答案 1 :(得分:5)

您可能必须重新启动rails服务器才能识别lib目录中的内容。