在一个帖子中实现多个附件

时间:2012-11-12 19:45:02

标签: ruby-on-rails ruby-on-rails-3 carrierwave attachment

在rails项目中处理多个附件的最佳方法是什么?

我有一个帖子。我想附加不同种类的内容(音频/文档/照片/视频)并显示它们。 我希望能够在不同的帖子中使用相同的附件。 我应该如何实现这个(例如,如果我使用gem carrierwave)?

这有效,但我想将每种内容分成不同的模型和表格(会有很多内容):

class Attachment < ActiveRecord::Base
  attr_accessible :post_id, :image, :remote_image_url, :document, :remote_document_url, :video, :remote_video_url
  belongs_to :post
  belongs_to :user

  mount_uploader :image, ImageUploader
  mount_uploader :document, DocumentUploader
  mount_uploader :video, VideoUploader
end

*更新

1 个答案:

答案 0 :(得分:1)

您可以创建模型内容(您可以将其关联到您以后喜欢的任何模型),然后使用嵌套内容模型执行has_many以添加多个内容项。不要忘记将扩展和MIME类型列入白名单