我的應用程序是在Heroku上,我從我的應用程序的一個Excel如何堅持兩個動作之間的臨時文件
用戶的輸入創建資源可以導入從Excel電子表格的接觸。進行導入的過程有多個步驟,以方便用戶的大腦。在第一步中,他們上傳一個文件(電子表格)。在第二步中,他們選擇一些選項來處理文件。這兩個步驟不能合併爲一個,因爲這些選項取決於文件的標題。
現在,這是通過兩個操作完成的:一個POST上傳文件,然後另一個POST上傳用戶的選擇。該文件作爲臨時文件實例化,不會在操作中持續存在。
所以,我不希望用戶在中介操作中再次上傳第一個文件。這可能嗎?
第一步:
= simple_form_for [:choose_headers, @contact_import] do |f|
= f.input :file, as: :file
= f.submit
在這第二個步驟,文件不保留:
= simple_form_for [@contact_import] do |f|
= f.input :file, as: :file
= f.input :some_other_input
= f.submit
您的解決方案聽起來不錯,但我不想保存該文件,因爲我的應用程序位於Heroku上,而且我不想將該文件存儲在S3上。 –
Heroku明確指出,他們不會*保證*任何寫入文件系統的文件都將被保留。這不會改變你是否使用'Tempfile'或其他任何東西。除了使用S3之外,唯一可靠的解決方案是將文件內容作爲「BLOB」存儲在數據庫中。 –
這就是我所想的......我想我會像你提到的那樣將它存儲爲一個blob。 –