Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4将类与模块混淆_Ruby On Rails_Class_Module - Fatal编程技术网

Ruby on rails Rails 4将类与模块混淆

Ruby on rails Rails 4将类与模块混淆,ruby-on-rails,class,module,Ruby On Rails,Class,Module,我的模型定义为: class Phaxio require 'rest_client' require 'json' attr_accessor :api_key, :secret_key, :callback_url, :current_intranet def initialize(args) @current_intranet = args.fetch(:current_intranet) if Rails.env.production? @api_

我的模型定义为:

class Phaxio

require 'rest_client'
require 'json'

attr_accessor :api_key, :secret_key, :callback_url, :current_intranet

def initialize(args)
    @current_intranet = args.fetch(:current_intranet)

    if Rails.env.production?
        @api_key      = current_intranet.settings.find_first_by_group_type_name("phaxio","api_key").try(:value)
        @secret_key   = current_intranet.settings.find_first_by_group_type_name("phaxio","api_secret").try(:value)
        @callback_url = "http://www.production.com/phaxio_holla_back"
    else
        @api_key      = current_intranet.settings.find_first_by_group_type_name("phaxio","api_key_test").try(:value)
        @secret_key   = current_intranet.settings.find_first_by_group_type_name("phaxio","api_secret_test").try(:value)
        @callback_url = "http://development.com:3002/phaxio_holla_back"
    end
end
没有phaxio(或phaxios)表。模型名为“phaxio.rb”。我没有phaxios_控制器

当我调用
Phaxio.new(当前的_内部网)
时,我得到了“Phaxio:Module的未定义方法'new'。我没有Phaxio模块,我在我的应用程序上做了一个grep(它相当大),以确保“Phaxio”没有在其他地方定义。知道我做错了什么吗

不,该应用程序未命名为“Phaxio”。My application.rb是:

require File.expand_path('../boot', __FILE__)
require 'rails/all'
Bundler.require(:default, Rails.env)
module V2
   class Application < Rails::Application
      config.autoload_paths += Dir["#{config.root}/app/presenters/*"].find_all { |f| File.stat(f).directory? }
      config.autoload_paths += Dir["#{config.root}/app/services/*"].find_all { |f| File.stat(f).directory? }
      config.autoload_paths += Dir["#{config.root}/app/queries/*"].find_all { |f| File.stat(f).directory? }
      config.autoload_paths += Dir["#{config.root}/lib/*"].find_all { |f| File.stat(f).directory? }
      config.autoload_paths += %W(#{config.root}/lib)

      $TECH_EMAIL     = ["fhock@production.com", "wprince@production.com"]

      config.to_prepare do
         Devise::SessionsController.layout "sessions"
         #Devise::RegistrationsController.layout "sessions"
         #Devise::ConfirmationsController.layout "sessions"
         #Devise::UnlocksController.layout "sessions"            
         Devise::PasswordsController.layout "sessions"
      end
   end
end

require 'tools'
require 'pdf_tools'
需要文件。展开路径('../boot',文件)
需要“rails/all”
Bundler.require(:default,Rails.env)
模块V2
类应用程序
根据一位朋友最后的建议,我将所有对phaxio的引用重命名为phaxio2,一切正常。不知道为什么会有不同,因为我运行了一个grep来查找单词“phaxio”的所有实例,以防出现一些冲突的模块,但没有找到任何实例。我想有时候抓救命稻草确实管用

您的应用程序是否也被命名为“Phaxio”?config/application.rb中有什么内容?看看rails控制台中执行
Phaxio.inspect
会返回什么内容会很有趣。