4

これが私のラックアプリにあるものです

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

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

もちろん、本番環境ではエラーが発生します。一種の「require if」を作成するにはどうすればよいですか?

4

3 に答える 3

14
require 'pry' if ENV['RACK_ENV'] == 'development'
于 2013-01-01T11:03:40.023 に答える
3

ifブロック内に埋め込むことができるかもしれません

docs Sinatra によると、環境変数 http://www.sinatrarb.com/intro#Environmentsを提供しています

if development?
 require 'pry'
end

どこでも使用する必要があります。

これはあなたが探している正確な解決策ではないかもしれません。

于 2013-01-01T11:14:08.833 に答える
-1

アプリのオブジェクトまたはカーネルにそのようなメソッドを記述することをお勧めします。

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

その後、コードで必要な場合は require_pry を呼び出すことができます。しかし、Bundler で処理できない理由には疑問があります。Bundle.require には、環境に必要なすべての gem が必要です。

于 2013-01-01T18:13:06.090 に答える