我可以通过调用方法从控制器访问Module类方法吗?

时间:2015-05-25 16:33:14

标签: ruby-on-rails module include request

我在lib / api_client中有以下模块:

request.rb

module APIClient

  class Request
    require 'digest/sha1'
    require "net/http"
    require "uri"

    def self.venues_response
      ...
    end

  end
end

我在我的控制器类中包含这样的内容:

class VenuesController < ApplicationController

  include APIClient

我想从venues_controller内部访问它的方法,如下所示:

venues_response

但我收到以下错误:

undefined method `venues_response' for #<VenuesController:0x007f9ee058ad00>

如果我试试这个:

Request.venues_response

我明白了:

uninitialized constant VenuesController::Request

唯一的方法似乎是:

APIClient::Request.venues_response

有没有办法让呼叫变得更简单?我错过了什么吗?

编辑:

忘记提及自动加载已经在application.rb上添加:

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

1 个答案:

答案 0 :(得分:0)

request.rb重命名为api_client.rb