ruby gem を作成していて、ユーザーが独自の yaml ファイル構成を使用できるようにしたいのですが、user_config.yml が Rails 構成パスに存在するかどうかをテストする方法がわかりません。
このファイルが構成パスに存在する場合にのみ、user_config.yml を使用します。
質問する
4982 次
2 に答える
13
Rails.root
(またはRAILS_ROOT
以前のバージョンのRailsでは)アプリケーションルートのパスを提供します。そこから、関心のあるファイルが存在するかどうかを確認できます。
例えば
path = File.join(Rails.root, "config", "user_config.yml")
if File.exists?(path)
# do something
end
于 2012-09-28T00:17:12.590 に答える
1
Array 型の $LOAD_PATH 変数を使用して、Rails アプリのロード パスにアクセスできます。
したがって
if $LOAD_PATH.include?('/path/where/user/should/put/their/user_config.yml')
# EDIT
config_options = File.new('rails_app/config/user_config.yml', 'r')
else
# EDIT
config_options = File.new('path/to/default/config.yml', 'r')
end
Ruby File クラスには #exists? という別の便利なメソッドもあります。もちろん、ファイルが存在するかどうかを確認します。詳細については、File クラスのドキュメントを参照してください。
これで始められることを願っています。あなたの質問はかなり漠然としていました。さらにサポートが必要な場合は、詳細を返信してください。
于 2012-09-27T19:12:22.903 に答える