ruby-on-rails – Refile gem:多个文件上传

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Refile gem:多个文件上传前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Refile with Rails 4.我正在跟着他们的教程为 multiple image upload.每个帖子可以有多个图像.我的模型看起来像这样:

Post.rb:

has_many :images,dependent: :destroy
accepts_attachments_for :images,attachment: :file

Image.rb:

belongs_to :post
attachment :file

我可以上传文件,罚款通过使用:

<%= f.attachment_field :images_files,multiple: true,direct: true,presigned: true %>

但是当我尝试检索一个像:

<%= attachment_image_tag(@post.images,:file,:small) %>

我得到错误

undefined method file for #<Image::ActiveRecord_Associations_CollectionProxy:0x007fbaf51e8ea0>

如何使用多张图像上传检索图像?

解决方法

为了检索属于帖子的图像,您需要遍历图像数组.
<% @post.images.each do |image| %>
  <%= attachment_image_tag(image,:fill,300,300) %>
<% end %>

助手attachment_image_tag采取:

> [Refile :: Attachment] object:具有附件文件的类的实例.
> [Symbol] name:附件列的名称

所以这里,@ posts.images拥有一个图像对象的数组.那个对象有一个附加的文件.

class Image < ActiveRecord::Base
  belongs_to :post
  attachment :file
end

然后,当您迭代图像时,您将给图像对象的帮助者以及附件列的名称,如下所示:file.

原文链接:https://www.f2er.com/ruby/272591.html

猜你在找的Ruby相关文章