我正在使用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.