如何在Rails中使用Cloudinary将直接上传字段与模型关联?

5
使用Cloudinary及其Carrierwave插件,我可以在视图中编写一个表单来上传图片到他们的云端,并将其绑定到名为picture的模型属性,示例如下:
<%= form_for(@post) do |post_form| %>
  <%= post_form.hidden_field(:picture_cache) %>
  <%= post_form.file_field(:picture) %>
<% end %>

这可以工作。但是,我无法在遵循他们在Rails中直接上传文档的文档的同时将属性绑定到模型。他们的示例使用了一个没有绑定到模型的form_tag:

<%= form_tag(some_path, :method => :post) do  %>
  <%= cl_image_upload_tag(:image_id) %>
    ...
<%= end %>

我正在寻找类似于<%= post_form.some_upload_method(:picture) %>的示例。有没有其他人已经为其模型完成了直接上传,并知道我在寻找什么?


一旦文件成功上传,我使用Ajax请求来执行此操作。 - apneadiving
在您的情况下:当上传完成时,您的图像的Cloudinary公共ID将被添加到原始表单并提交到您的服务器。在未来访问已上传的图像时,请使用此公共ID,无论是以其原始形式还是在使用Cloudinary的按需图像转换后。您还可以让插件在上传到Cloudinary完成时调用Javascript回调例程。 - apneadiving
1个回答

4
您可以使用以下语法:
<%= post_form.cl_image_upload(:picture) %>

非常感谢!这是赏金。 - hlh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接