によって作成されたselect要素によって設定された値の表示に問題がありますFormHelper
。インターネットを検索しましたが、答えが見つからないようです。シーンは次のとおりです。
多くの選択肢があるアンケートフォームがあります。モデルでは、これらのアイテムを配列に入れます。たとえば、($frequencyOptions
)をformhelper
使用すると、
$this->Form->input('frequency',array("options"=> $frequencyOptions));
現在、オプション値は配列インデックスであり、次のようになります。
<option value="">(choose one)</option>
<option value="0">Rare</option>
<option value="1">Frequent</option>
<option value="2">Moderate</option>
もちろん、次の$frequencyOptions
ような変数を作成するときにキーも設定すると、
$frequencyOptions = array("Rare" => "Rare", ...
値をテキストで保存できるようになります。
ただし、これらのオプションの一部は非常に長いため、データベースのINTに保存することをお勧めします。
しかし、現時点で私が抱えている課題は、インデックスページの「リスト」にこれらのフィールドをどのように表示するかです。フォームフィールドを使用してビューまたは編集アクションに表示する場合、select要素が再び使用されるので問題ありません。ただし、プレーンテキストで表示したい場合は、どのように「翻訳」する必要がありますか?
私が考えることができることの1つは、モデルでこれらの「変換」メソッドを作成することですが、ビューでモデルメソッドを呼び出すことは、MVCでは適切な方法ではないと思います。
何か案が?