首先,正如安东在下面的答案中提到的,确认您config/environments/development.rb
有:
config.consider_all_requests_local = true
并且您正在开发模式下运行服务器。
我已经确保了上述内容并且仍然观察到错误。这发生在我的案例中,因为我的记录器有一些错误。我正在使用自定义日志格式化程序,它使用该String#%
方法来格式化日志。%
似乎有很多错误并导致所有这些奇怪的错误。我通过在控制器方法中添加debugger
一行并逐步进入隐式渲染函数调用来解决这个问题。它遇到了错误并将其报告为malformed format string
错误。
这是我之前使用的日志格式化程序,它导致了错误[我已将其添加到初始化文件中]:
class Logger::SimpleFormatter
def call(severity, time, progname, msg)
"%-7s #{msg}\n" % severity
end
end
这些修改修复了错误:
class Logger::SimpleFormatter
def call(severity, time, progname, msg)
severity_prefix = "[#{severity}]".ljust(7)
"#{severity_prefix} #{msg}\n"
end
end