特定のユーザーが選択した「モード」に応じて、大幅に異なるビューがあります。
異なる動作を 2 つの異なるヘルパーに抽出し、コントローラーに次のようなコードを含めることを考えました。
class MyController < ApplicationController
case mode
when 'mode1'
helper "mode1"
when 'mode2'
helper "mode2"
else
raise "Invalid mode"
end
etc...
正しいヘルパーがロードされると、両方のヘルパーで定義されている <%= edit_item %> のようなステートメントが、特定の「モード」の正しいフォームをロードします。
これは開発では見事に機能しますが、本番環境では case ステートメントは 1 回しか実行されません。次に、最初にロードされたヘルパーに固執します(当たり前!私はそれを知っているべきでした。)
必要なことを達成するための他の方法を考えましたが、このヘルパーの使用は、ビューの動作を変更するためのきれいな方法だと思います。
実行時にヘルパーをロード (またはリロード) する方法を知っている人はいますか?
TIA: ジョン