1

次のようないくつかのテキストエリアを含むフォームを送信しようとしています:

<textarea name="criticism[]" rows="3" cols="5"></textarea>

ユーザーが js を使用して追加した、ページ上に無制限の数のテキストエリアが存在する可能性があるため、テキストエリアには名前として配列が必要です。

値はコントローラーに正しく渡されます。

コントローラーではparams.flash()、セッションに値を追加するように見えます。これ${flash}は、テンプレートで行うと、値が画面に出力されるためです。ただし、それらにアクセスすることはできません。 ${flash.criticism}null${flash.criticism[x]}を返し、範囲外エラーを返します。

構文に関して何か不足していますか?

乾杯 :)

4

1 に答える 1

1

フラッシュ スコープは、現在のリクエストと次のリクエストでのみ使用できます。セッションに何かを入れるには、session を使用します。

ただし、flash と session は値を格納するためのものではありません。それらは 4kb に制限された Cookie です。何かを保存するには、データベースおよび/またはキャッシュを使用します

次のページで値を再レンダリングする場合は、文字列配列を'criticism'パラメーターとして次のレンダリング メソッドに渡し、それをテンプレートで次のように使用します。${criticism[x]}

于 2012-04-27T06:59:46.667 に答える