所以我在Railer Performance书中跟进,它告诉我在environment.rb中制作以下代码片段:
MemoryProfiler.report do
# Load the Rails application.
require File.expand_path('../application', __FILE__)
# Initialize the Rails application.
Rails.application.initialize!
end.pretty_print(to_file: "test.txt")
然后我应该运行rails runner "puts 'hello world'"
但是当我这样做时,我得到了:
/Users/samantha/.rbenv/versions/2.3.1/lib/ruby/2.3.0/pp.rb:316:in `pretty_print': undefined method `text' for {:to_file=>"test.txt"}:Hash (NoMethodError)
Did you mean? test
pretty_print是我应该安装的红宝石吗?
答案 0 :(得分:0)
我认为您的MemoryProfiler.report do ... end
块返回nil(我不知道为什么会发生)。
存在报告后,它将在pretty_print
的实例上执行MemoryProfiler的MemoryProfiler::Results
方法。
当报告为nil时,它将在pretty_print
的实例上执行Ruby的NilClass
方法。