私たちのアプリケーションは多くの環境を使用しているため、問題を壊すことなく設定を試すことができます。典型的なコントローラ アクションでは、次のようなものがあります。
def some_action
...
if @foo.development_mode == 'Production'
@settings = SomeHelper::Production.lan(bar)
elsif @foo.development_mode == 'Beta'
@settings = SomeHelper::Beta.lan(nas)
elsif @foo.development_mode == 'Experimental'
@settings = SomeHelper::Experimental.lan(nas)
end
...
end
これらは数十あるので、次のようなもので物事を乾かしてみることができると考えました。
@settings = "SomeHelper::#{@foo.development_mode}.lan(bar)"
これは明らかに機能しません-私はただ得ます:
"NasHelper::Production.lan(bar)"
どうすればこれを減らすことができますか、それとも私が持っているものに固執する必要がありますか??