Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby &引用;“如果需要,则要求”;红宝石色_Ruby_Gem_Sinatra_Rack - Fatal编程技术网

Ruby &引用;“如果需要,则要求”;红宝石色

Ruby &引用;“如果需要,则要求”;红宝石色,ruby,gem,sinatra,rack,Ruby,Gem,Sinatra,Rack,以下是我的rack应用程序中的内容 #rb file require 'pry' class ..... #GemFile group :development do gem "pry" gem "pry-nav" end 当然,在生产中它会导致错误。如何制作一种“require if”?可能是您可以将其嵌入if块中 根据docs,Sinatra提供了一个环境变量 无论你需要在哪里使用它 这可能不是确切的解决方案,您可能只是在胡乱猜测我建议在应用程序的对象或内核中编写这样的

以下是我的rack应用程序中的内容

#rb file
require 'pry'
class .....

#GemFile
group :development do
    gem "pry"
    gem "pry-nav"
end

当然,在生产中它会导致错误。如何制作一种“require if”?

可能是您可以将其嵌入if块中

根据docs,Sinatra提供了一个环境变量

无论你需要在哪里使用它


这可能不是确切的解决方案,您可能只是在胡乱猜测

我建议在应用程序的对象或内核中编写这样的方法:

def require_pry
  require 'pry' if ENV['RACK_ENV'] == 'development'
end
之后,如果需要在代码中使用require_pry,可以调用它。但我怀疑为什么Bundler不能处理它,Bundle.require将需要环境所需的所有gem

if development?
 require 'pry'
end
def require_pry
  require 'pry' if ENV['RACK_ENV'] == 'development'
end