通过 ajax 回形针删除图像
Paperclip delete image via ajax
我想通过Ajax删除图片。
我正在使用 Paperclip 进行上传。
我了解到要删除图像,我所要做的就是将其设置为 nil。
示例:
@meth.picture = nil # this works
错误信息:
Paperclip::AdapterRegistry::NoHandlerError (No handler found for "nil"):
app/controllers/meths_controller.rb:116:in `block in update'
app/controllers/meths_controller.rb:115:in `update'
代码:
$(function() {
$('#delete_image').on("click", function() {
$('#image > img').remove();
//console.log("??");
var url = document.URL.split("/");
var meth_id = url[4];
console.log(meth_id);
$.ajax({
url: '/Methoden/'+meth_id,
type: 'PATCH',
dataType: 'json',
data: {"meth": {"picture": "nil"}},
complete: function (jqXHR, textStatus) {
},
success: function (data, textStatus, jqXHR) {
console.log(" ?? profit");
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
});
});
在Зелёный的帮助下,我做了以下事情:
data: {"meth": "delete_image"}
然后在我的控制器更新方法中:
if params[:meth] == "delete_image"
@meth.picture = nil
@meth.save
end
问题是您将字符串 ((No handler found for "nil")
) 传递给方法 @meth.picture
。
改为发送 "nil"
类似 "delete"
或 "clear"
的内容并检查控制器 if params[:meth] == "delete"
做 @meth.picture = nil
否则做其他事情。
我想通过Ajax删除图片。 我正在使用 Paperclip 进行上传。
我了解到要删除图像,我所要做的就是将其设置为 nil。
示例:
@meth.picture = nil # this works
错误信息:
Paperclip::AdapterRegistry::NoHandlerError (No handler found for "nil"):
app/controllers/meths_controller.rb:116:in `block in update'
app/controllers/meths_controller.rb:115:in `update'
代码:
$(function() {
$('#delete_image').on("click", function() {
$('#image > img').remove();
//console.log("??");
var url = document.URL.split("/");
var meth_id = url[4];
console.log(meth_id);
$.ajax({
url: '/Methoden/'+meth_id,
type: 'PATCH',
dataType: 'json',
data: {"meth": {"picture": "nil"}},
complete: function (jqXHR, textStatus) {
},
success: function (data, textStatus, jqXHR) {
console.log(" ?? profit");
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
});
});
在Зелёный的帮助下,我做了以下事情:
data: {"meth": "delete_image"}
然后在我的控制器更新方法中:
if params[:meth] == "delete_image"
@meth.picture = nil
@meth.save
end
问题是您将字符串 ((No handler found for "nil")
) 传递给方法 @meth.picture
。
改为发送 "nil"
类似 "delete"
或 "clear"
的内容并检查控制器 if params[:meth] == "delete"
做 @meth.picture = nil
否则做其他事情。