在表单之间传递大数据集?

时间:2017-04-14 16:56:07

标签: ruby-on-rails

我正在尝试逐步构建一个批量转换大量数据的表单。我希望仅在最后一步将数据保存到数据库中。我看到创建这样的表单的方式是将数据保存在会话存储中。

session[:stored_data] = large_dataset

但是在尝试保存时,这会给我一个CookieOverflow错误。

我的其他选择是什么?我是否坚持在步骤之间将数据保存到数据库?

1 个答案:

答案 0 :(得分:0)

您实际上可以将其存储在表单中。

在第一张表格上你可能有......

<%= f.text_field :name_of_dog %>

...在第二个表单上,您可以存储第一个表单的字段,但是在隐藏字段中。

<%= f.hidden_field :name_of_dog %>

通过这种方式,您可以通过所有后续表单传输数据,并在提交最终表单时,您拥有需要持久保存到数据库的完整数据。

我为单个数据库记录执行此操作,其中信息量可能对最终用户来说是压倒性的,或者当您每页显示有限数量的记录数据时(例如,因为您在iframe中)。

我经常有一个名为:page的attr_accessor,所以当调用创建或编辑动作时,我知道哪个页面已经提交。