2016-07-15 77 views
0

設置附件列爲NULL我不知道如何做到這一點。我有一張名爲「動物」的表格。 然後,我可以添加一個圖像來顯示動物。Active Record/Ruby on Rails - >通過點擊鏈接刪除圖像:通過

我用這個語句的形式視圖改變圖像:

f.file_field :attachment, :accept => 'image/jpeg' 

當我提交表單我在節目觀看了一個好看的圖像。

就像我說的,我可以很容易地改變圖像,但我不知道如何刪除它。在一個完美的世界中,我更喜歡,我按鏈接和圖像剛剛刪除,但其餘的動物屬性保持alife,所以下列列設置爲NULL,並從服務器中刪除文件:

「attachment_file_name」 「attachment_content_type」 「attachment_file_size」 「attachment_update_at」(或許應該被設置爲當前日期,或設置爲NULL)

apreciated任何幫助。

+0

你使用回形針寶石? – rneves

回答

1

如果您使用回形針寶石,您所需要做的就是將附件設置爲零並保存。就像這樣:

@animal.attachment = nil 
@animal.save 

更多信息here

在你的情況,如果你想添加一個鏈接刪除,您將創建一個路線和動作只是爲了做到這一點。

我建議在文件字段附近添加一個複選框並在update/create處進行驗證。

+0

感謝您的回覆。是的,我使用回形針 - 但我不知道我使用它 - 因爲我接管了平臺(如果你不是原始程序員,總是很難)。現在帶回形針的提示幫了很多忙。由於這個,我發現堆棧溢出問題的討論和解決的另一個線程:http://stackoverflow.com/questions/4435826/rails-paperclip-how-to-delete-attachment < - 基於此我集成了一個支票盒子放到我的表格中,可以從服務器上刪除圖像和所有文件。感謝您的回覆,並指引我走向正確的方向! – Donselm