我的开发日志似乎正常工作(它显示每个加载的资产等),但它不会显示我在代码中放置的任何消息。我已经:
Rails.logger.debug "My debugging message"
在我的控制器方法中,虽然方法已被调用,但是消息未在开发日志中显示。这似乎很基础,但我找不到问题所在。有什么想法吗?
我的开发日志似乎正常工作(它显示每个加载的资产等),但它不会显示我在代码中放置的任何消息。我已经:
Rails.logger.debug "My debugging message"
我相信在你的控制器中可能会有以下内容:
class UserController < ApplicationController
# ...
def create
@user = User.new(params[:user])
logger.debug "New user: #{@user.attributes.inspect}"
logger.debug "User should be valid: #{@user.valid?}"
if @user.save
flash[:notice] = 'User was successfully created.'
logger.debug "The User was saved and now the user is going to be redirected..."
redirect_to(@user)
else
render action: "new"
end
end
# ...
end
另外一个你可能想要加入到config/environment/development.rb
的技术是:
# See everything in the log (default is :info)
config.log_level = :debug
正如评论中所述,它将以调试级别记录所有内容。
此外,有些人可能会同意,有些人可能会不同意,我遇到并正在学习的是使用Ruby Debug (gem install debug
)。通过这种方式,它允许您在代码中设置断点,并检查执行时该点和时间的所有本地变量。您可能会发现在跟踪您不知道其位置的错误时使用此技术更好!因此,您可以像这样做。
class UserController < ApplicationController
def new
debugger
@user = User.new(params[:user])
.....
....
..
end
当您启动服务器时,请确保运行rails server debugger
。更多信息请参阅:Ruby On Rails 3.2指南-Shell
希望这能澄清一些事情。