2017-04-14 100 views
0

我試圖建立一個逐步的表格,批量轉換大量數據。我只想在最後一步將數據保存到數據庫中。我所看到的創建這種形式的方式是將數據保存在會話存儲中。在表單之間傳遞大量數據集?

session[:stored_data] = large_dataset 

但是,當試圖保存到它時,這會給我一個CookieOverflow錯誤。

我的其他選擇是什麼?我堅持與步驟之間的數據保存到數據庫?

+0

您可以讓Rails將您的會話存儲在Redis或數據庫中以解決此Cookie溢出問題。 – Iceman

+0

這將是理想的,但不知道這對我來說真的是一種選擇,不幸的是。這是針對傳統代碼庫的。 – humdinger

回答

0

你實際上可以將它存儲在表單中。

在你可能有第一種形式......

<%= f.text_field :name_of_dog %> 

...你可以存儲第一種形式的字段中的第二個形式,但在一個隱藏字段。

<%= f.hidden_field :name_of_dog %> 

這樣你通過所有後續的形式攜帶數據和最終提交表單時,你有你需要堅持到數據庫的完整數據。

我這樣做的單數據庫記錄,其中信息量可能是最終用戶壓倒性的,或當你每頁顯示有限數量的記錄數據(比如,因爲你在一個iframe中)。

我經常也有一個叫做:page的attr_accessor,所以當創建或編輯操作被調用時,我知道哪個頁面已經提交。