有两个相似的类名(一个在 lib 中,一个在控制器中)是错误的吗?
myapp/lib/company/api.rb
module Company
class Api
include HTTParty
base_uri "#{API_CONFIG['scheme']}://#{API_CONFIG['host']}"
digest_auth API_CONFIG['email'], API_CONFIG['key']
DEFAULT_OPTIONS = {
limit: 1
}
#...
end
myapp/app/controllers/api/something_controller.rb
class Api::SomethingController < ApplicationController
def index
# TODO: Verify q
q = params[:q]
@result = Company::Api.new().send("get_sdf_#{q}",
rn: "123",
limit: params[:limit])
#...
end
开发日志
LoadError (Expected /home/cekpo/myapp/lib/company/api.rb to define Api):
activesupport (3.2.13) lib/active_support/dependencies.rb:503:in `load_missing_constant'
activesupport (3.2.13) lib/active_support/dependencies.rb:192:in `block in const_missing'
activesupport (3.2.13) lib/active_support/dependencies.rb:190:in `each'
activesupport (3.2.13) lib/active_support/dependencies.rb:190:in `const_missing'
activesupport (3.2.13) lib/active_support/inflector/methods.rb:230:in `block in constantize'
activesupport (3.2.13) lib/active_support/inflector/methods.rb:229:in `each'
activesupport (3.2.13) lib/active_support/inflector/methods.rb:229:in `constantize'
activesupport (3.2.13) lib/active_support/dependencies.rb:554:in `get'