【发布时间】:2015-01-16 19:24:15
【问题描述】:
Sinatra 文档说 development? 将在开发环境时返回 true,但我收到一条错误消息,指出方法 development? 未定义。
我尝试跳过速记并测试 ENV['RAKE_ENV'] 变量本身,但它只是 nil。
这是我得到的错误:
undefined method `development?' for main:Object (NoMethodError)
这是触发错误的代码:
require 'dm-sqlite-adapter' if development?
我正在使用模块化风格的应用程序。上面的行是一个单独的文件,只管理模型。怎么回事?
【问题讨论】:
-
如果你使用它作为一个符号(带有冒号)会发生什么需要 "xyz" if :development?
-
已修复。非常感谢。如果你想把它作为答案,我很乐意接受它是正确的。符号和非符号语法有什么区别?我怎么知道什么时候使用哪个?
-
@EmanueleFeliziani 不能修复
... if :any_symbol_whatsoever将始终返回 true,因为符号不是nil或false。 -
是的@matt,你是对的。那么,有什么线索可能导致这个问题吗?
-
require 'dm-sqlite-adapter' if Sinatra::Base.environment == :development将完成这项工作。