我正在尝试逐步构建一个批量转换大量数据的表单。我希望仅在最后一步将数据保存到数据库中。我看到创建这样的表单的方式是将数据保存在会话存储中。
session[:stored_data] = large_dataset
但是在尝试保存时,这会给我一个CookieOverflow错误。
我的其他选择是什么?我是否坚持在步骤之间将数据保存到数据库?
答案 0 :(得分:0)
您实际上可以将其存储在表单中。
在第一张表格上你可能有......
<%= f.text_field :name_of_dog %>
...在第二个表单上,您可以存储第一个表单的字段,但是在隐藏字段中。
<%= f.hidden_field :name_of_dog %>
通过这种方式,您可以通过所有后续表单传输数据,并在提交最终表单时,您拥有需要持久保存到数据库的完整数据。
我为单个数据库记录执行此操作,其中信息量可能对最终用户来说是压倒性的,或者当您每页显示有限数量的记录数据时(例如,因为您在iframe中)。
我经常有一个名为:page
的attr_accessor,所以当调用创建或编辑动作时,我知道哪个页面已经提交。