我正在将UploadCare集成到我的Rails应用程序中。我的Book
模型中有一个名为image_url
的字段,一个普通的字符串。
上传图片工作正常,但问题是当窗口小部件已初始化为已存在现有值image_url
的模型时,不是UploadCare网址。 < / p>
只要image_url
字段具有UploadCare图像网址,该窗口小部件就可以正常工作。但如果它有类似的内容:http://i.imgur.com/foobar.jpg
它会显示“不正确的值”。似乎小部件知道图像不在UploadCare上,因此出于某种原因它显示不正确的值。
我正在使用uploadcare-rails
宝石。
有没有办法调整这种行为?
答案 0 :(得分:1)
这有点棘手,但仍有可能。这是代码,它适用于您的情况:
function patchWidget(widget) {
function onChange(file) {
// Fire only once
widget.onChange.remove(onChange);
if (file.state() == 'rejected') {
file.fail(function(reason) {
if (reason == 'baddata') {
var value = $(widget.inputElement).val();
widget.value(null);
$(widget.inputElement).val(value);
}
});
}
}
widget.onChange.add(onChange);
}
如果小部件不是Uploadcare URL(带路径的URL,以UUID开头),它将重置小部件的值,但会保留隐藏输入的值。因此,如果用户提交表单,则不会保存UploadCare URL。