有人知道如何在模型中调试rails吗?我有一个现在正在工作的方法,我试图在输入之间检查变量的值
logger.debug val_name
那是在控制器中工作而不是在模型中有人知道为什么吗?如果可能是问题,则模型不会从Active Record继承。有没有办法调试它?
答案 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,这可能会有效:
gem install ruby-debug
; require 'ruby-debug'
添加到config/environments/development.rb
; debugger
放在要启动调试会话的源中。请查看此官方指南以获取更多信息:http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-ruby-debug