1

我正在尝试提交一个带有一些这样的文本区域的表单:

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

textarea 需要有一个数组作为名称,因为页面上可以有无限数量的数组,由用户使用 js 添加。

这些值被正确地传递给控制器​​。

在控制器中,我params.flash()似乎将值添加到了会话中,因为如果我${flash}在模板中这样做,它们就会打印到屏幕上。但是,我无法以任何方式访问它们。 ${flash.criticism}返回 null,${flash.criticism[x]}并将返回越界错误。

我错过了什么语法吗?

干杯:)

4

1 回答 1

1

flash 范围仅适用于当前请求和下一个请求。要将某些内容放入会话中,请使用会话。

但是 flash 和 session 并不打算存储值。它们的 cookie 限制为 4kb。要存储一些东西,请使用数据库和/或缓存

如果您想在下一页中重新渲染您的值,只需将字符串数组作为'criticism'参数传递给下一个渲染方法并在您的模板中使用它${criticism[x]}

于 2012-04-27T06:59:46.667 回答