在不同的“新”表单之间保留一些信息

时间:2010-12-28 09:08:10

标签: ruby-on-rails session

我有一个表单,用户可以从许多选择框中选择选项。该表单用于从RSS源注册多个项目。用户填写表单,单击“创建”,并为列表中的下一个项目显示相同的表单。

有时,相同的选项对列表中的多个项目有效,我希望能够保存一些选项,这样用户就不必为下一个项目做出相同的选择。

这样做的最佳方式是什么?我已经确定了四种方法:

会话

只需将值保留在会话哈希中。这当然会起作用并且非常简单,但我有一些不确定的感觉,这是一个坏主意。如果用户使用浏览器中不同选项卡中的表单,它也将无法工作。

缓存

基本上与将它们留在会话中相同,我认为。

资料

我相信,在这种情况下无法完成,因为配置文件是在多个用户之间共享的。

数据库

我提出的最复杂的方法是将信息保存在数据库中,并使用查询参数来跟踪应该使用哪些信息。这可能是矫枉过正,但在某些方面对我来说是最好的方式。我不喜欢在会话或cookie中保持这种状态的想法。

我错过了某种方式吗?还是什么?

1 个答案:

答案 0 :(得分:0)

如果在填写第一个表单后,将一些数据保存到db(创建了对象),那么您可以使用db中的这些数据来填充新表单。

如果在填写第一个表单后,没有任何内容保存到db,那么您可以在内存中创建一些基于前一篇文章中的参数的对象,并基于此(仅在params上)您可以准备新表单。但当然,以前表格中的数据应作为第二种形式的隐藏字段添加。

相关问题