Ruby Rails:帮助使用不同进程的回形针上传多张图片

Ruby on Rails: Help in multiple image upload using paperclip with different process

我有 3 个模型:PostComment,Image

(我正在使用回形针 gem 顺便说一句)

我想要实现的是用户可以在 post 上发表评论。 此外,如果他们选择在 post 中评论图片,他们也可以这样做。关系如下所示:

对于Post

class Post < ApplicationRecord
  belongs_to :user
  has_many :comments, :dependent => :destroy
end

征求意见

class Comment < ApplicationRecord
  belongs_to :user
  belongs_to :post
  has_many :images, :dependent => :destroy
end

和图像

class Image < ApplicationRecord
  belongs_to :user
  belongs_to :comment
end

流程是,比如他们想评论一个post,想附上一张图片,他们可以通过在评论中附上一张图片来实现。他们还可以在一条评论中附上多张图片。

但是,我似乎不知道该怎么做。经过研究,我偶然发现了这个 ,它在一个画廊中上传了多张图片。

但是,它只是两层模型(图库和图片)。他在他的视图和控制器中使用了这段代码:

查看

<%= file_field_tag "images[]", type: :file, multiple: true %>

控制器

if params[:images]
  params[:images].each { |image|
    @market.pictures.create(image: image)
  }
end

我开始了解如何做到这一点。但这与我想要实现的目标不同。如果你能帮助我,那就太好了!提前致谢!

可能有不同的上传方法,但我更喜欢使用 nested attributescocoon gem here you can get an example

的这种方法