Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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中调试gem?_Ruby On Rails_Ruby_Freetds_Acts As Audited - Fatal编程技术网

Ruby on rails 如何在Rails中调试gem?

Ruby on rails 如何在Rails中调试gem?,ruby-on-rails,ruby,freetds,acts-as-audited,Ruby On Rails,Ruby,Freetds,Acts As Audited,我正在尝试启动我的rails服务器,但得到下面的错误跟踪 我已经注释掉了这里提到的一行: 4.2.0/lib/audited/auditor.rb:48:in `audited' from /home/david-vm/Documents/rails_projects/bane/app/models/user.rb:9:in `<class:User>' User.rb class User < ActiveRecord::Base # Includ

我正在尝试启动我的rails服务器,但得到下面的错误跟踪

我已经注释掉了这里提到的一行:

4.2.0/lib/audited/auditor.rb:48:in `audited'
    from /home/david-vm/Documents/rails_projects/bane/app/models/user.rb:9:in `<class:User>'
User.rb

   class User < ActiveRecord::Base
      # Include default devise modules. Others available are:
      # :confirmable, :lockable, :timeoutable and :omniauthable
      devise :ldap_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
      after_destroy :ensure_an_admin_remains
      before_create { generate_token(:auth_token) }

      # Audit changes made except for the columns as specified below
      audited except: [:last_seen_at, :sign_in_count, :last_sign_in_at, :last_sign_in_ip, :password_digest]
      has_associated_audits

      acts_as_tagger
      acts_as_taggable_on :roles

    # associations, methods, etc...

    end
class用户
更新


原来这是一个DNS问题,所以即使我的database.yml没有更改,服务器名称也不再工作。刚刚添加了更新,以防有人遇到类似问题,可能值得检查一下。

答案在堆栈跟踪中。它准确地告诉您系统中的哪个文件出错。事实上,该文件来自一个宝石,或生活在您的计算机的不同部分,是无关的


/home/david vm/.rvm/gems/ruby-2.3.0/gems/tiny_tds-0.7.0/lib/tiny_tds/client.rb:74:在“连接”中:在配置文件中找不到服务器名称(TinyTds::Error)


用编辑器打开该文件(或回溯中最合适的任何文件),在它爆炸的行(74)之前,在其中插入一个
binding.pry
(或byebug,或调试器,无论您使用什么)。然后重新启动应用程序并进行调试,就像它是应用程序中的文件一样

添加
pry
gem,打开文件
4.2.0/lib/audited/auditor.rb
进行编辑,并在异常位置前插入
binding.pry
   class User < ActiveRecord::Base
      # Include default devise modules. Others available are:
      # :confirmable, :lockable, :timeoutable and :omniauthable
      devise :ldap_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
      after_destroy :ensure_an_admin_remains
      before_create { generate_token(:auth_token) }

      # Audit changes made except for the columns as specified below
      audited except: [:last_seen_at, :sign_in_count, :last_sign_in_at, :last_sign_in_ip, :password_digest]
      has_associated_audits

      acts_as_tagger
      acts_as_taggable_on :roles

    # associations, methods, etc...

    end