0
我试图使用rspec评估下面的代码。Ruby/Rails:eval似乎不工作
考虑:
# book = ...
Rails.logger.info book.inspect
上面的代码打印返回类型的值是boolean
即{:foo=>false}
eval(book[:foo]).should be_false
,但似乎并没有工作。虽然试图运行rspec的,它抛出以下异常:
Failure/Error: eval(book[:foo]).should be_false TypeError: can't convert false into String
那么,如何评估一个布尔值的方法,比如我的最终结果将是等效的?
嗯,你为什么需要'这里eval'?你想达到什么目的?我想简单的'book [:foo]。should be_false'应该就够了。你得到一个错误的原因是'eval'接受一个字符串作为参数,并将该字符串评估为Ruby代码。 – 2012-07-23 10:25:45