2

2つの単純なレーキタスクがあります。1つは機能し、もう1つは次のエラーをスローします。

rake aborted!
undefined method `my_config_param' for #<Rails::Application::Configuration:0x007ffba6b2d320>

タスクは次のとおりです。

task :with_env => :environment do
  Rails.application.config.my_config_param #works
end

task :without_env do
  Rails.application.config.my_config_param #fails
end

失敗する理由はかなり明らかであり、begin/rescueステートメントで:without_env呼び出しを簡単にラップできます。しかし、環境が不足しているかどうかを事前に判断して、これをよりエレガントに回避できるRails.application.config方法があるかどうかを知りたいと思います。そのような方法はありますか?見つかりませんでした…。

4

1 に答える 1

1

私の同僚は$rails_rake_task、rails envがロードされている場合はtrueを返し、そうでない場合はfalseを返すことに気づきました。これはトリックをしました:

Rails.application.config.my_config_param if $rails_rake_task

于 2012-12-20T18:15:38.500 に答える