如何使用js设置图片网址,而不是通过simple_form上传载波?

时间:2019-07-08 20:50:58

标签: ruby-on-rails carrierwave simple-form cloudinary

我想有两种方式将图像上传到cloudinary:   -或使用carrierwave和simple_form(单独运行即可)

```
<%= simple_form_for(@place) do |f| %>
          <%= f.input :name %>
          <%= f.input :address %>

          <%= f.input :image1 %>
          <%= f.input :image1_cache, as: :hidden %>
          <%= f.input :image2 %>
          <%= f.input :image2_cache, as: :hidden %>
          <%= f.input :image3 %>
          <%= f.input :image3_cache, as: :hidden %>
          <%= f.input :image4 %>
          <%= f.input :image4_cache, as: :hidden %>

          <%= f.submit "Create it!", class: "btn btn-primary mb-5" %>

```

-或由于JS中的API调用而捕获的URL =>这就是我被困住的地方...

一旦有了url,我就会尝试获取html图像输入表单并将其值设置为我的图像url(相同的逻辑对于文本字段也适用,例如:

const name = document.getElementById('place_name'); // this catch `f.input :name` field
name.value = place.name; // this set it to my value determined in JS

我尝试过的代码:

const imgLoader = document.getElementById(`place_image${index}`); // this catch the image uploader field
imgLoader.style.visibility = "hidden"; // this hide it to prevent the user to upload manually an image anymore (works fine)
imgLoader.value = url; // ERROR HERE

但是它不能与以下控制台消息一起使用:“ SecurityError:操作不安全。”

另一个想法是将url数据添加到我的simple_form发布请求中,以便能够通过使用remote_image1_url在控制器端上载它们,但是我也没有找到如何使用以下方法添加一些params数据我的simple_form提交请求...

会有人有解决方案或其他想法吗?

非常感谢!

0 个答案:

没有答案