如何在Model中调试?

时间:2010-08-15 13:39:30

标签: ruby-on-rails

有人知道如何在模型中调试rails吗?我有一个现在正在工作的方法,我试图在输入之间检查变量的值 logger.debug val_name 那是在控制器中工作而不是在模型中有人知道为什么吗?如果可能是问题,则模型不会从Active Record继承。有没有办法调试它?

4 个答案:

答案 0 :(得分:25)

从应用程序中的任何位置进行日志记录的另一种方法:

Rails.logger.debug "Show this message!"

这将始终输出到log/development.log文件。

答案 1 :(得分:8)

您可以在模型方法调用中执行“put”操作,然后输出。您可以在rails日志或控制台的输出中看到它。

答案 2 :(得分:3)

由于您的模型不是ActiveRecord,因此它没有混合记录器方法

你可以像这样添加它(可能还有其他更好的方法)

class YourModelThatIsNotActiveRecord
    def logger
        RAILS_DEFAULT_LOGGER
    end
end

这里还有很多很棒的信息 - http://guides.rubyonrails.org/debugging_rails_applications.html

答案 3 :(得分:0)

如果您在开发过程中使用script/server启动Mongrel,这可能会有效:

  1. 安装ruby-debug gem,如果你还没有:gem install ruby-debug;
  2. require 'ruby-debug'添加到config/environments/development.rb;
  3. 将行debugger放在要启动调试会话的源中。
  4. 请查看此官方指南以获取更多信息:http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-ruby-debug