我正在使用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>
如何使用多个图片上传来重新搜索图像?
答案 0 :(得分:5)
为了检索属于帖子的图片,您需要遍历图像数组。
<% @post.images.each do |image| %>
<%= attachment_image_tag(image, :file, :fill, 300, 300) %>
<% end %>
帮助者attachment_image_tag
采取:
所以在这里,@posts.images
包含一个image
对象数组。它是具有附件的对象。
class Image < ActiveRecord::Base
belongs_to :post
attachment :file
end
然后当您迭代images
时,您会向帮助者提供image object
以及附件列的名称,此处为:file
。
答案 1 :(得分:0)
你在主分公司吗?
gem 'refile', require: "refile/rails", git: 'https://github.com/refile/refile.git', branch: 'master'