在 Rails 上激活 Record/Ruby -> 单击 link 删除图像:通过将附件列设置为 NULL

Active Record/Ruby on Rails -> Delete image by click on link: Set attachment columns to NULL via

我不知道该怎么做。我有一个名为 "animals" 的 table。 然后我可以添加一个图像来显示动物。

我在表单视图中使用此语句来更改图像:

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

当我提交表单时,我在显示视图中看到了一张漂亮的图片。

就像我说的,我可以很容易地更改图像,但我不知道如何删除它。在我更喜欢的完美世界中,我按 link 并且图像刚刚被删除,但其余的动物属性仍然存在,因此以下列设置为 NULL 并且文件从服务器中删除:

"attachment_file_name" "attachment_content_type" "attachment_file_size" "attachment_update_at"(应该设置为当前日期,或者设置为 NULL)

感谢任何帮助。

如果您使用的是回形针gem,您需要做的就是将附件设置为零并保存。像这样:

@animal.attachment = nil
@animal.save

更多信息here

在你的例子中,如果你想添加一个 link 来移除,你将创建一个路由和一个动作来完成这个。

我建议在文件字段附近添加一个复选框并在 update/create 处进行验证。