【问题标题】:How do I link files uploaded using CarrierWave and Rails to a model?如何将使用 CarrierWave 和 Rails 上传的文件链接到模型?
【发布时间】:2016-01-29 04:28:13
【问题描述】:

我是一名前 MS Access 开发人员,我是 RoR / Web 开发的新手。我的头缠在这个轴上。这是我想要做的:

对于我的第一个应用程序,我正在创建一个 CRM,该 CRM 将部分跟踪商业资产列表。我希望单个属性具有文件存储功能,可以将文档和图像上传到 Amazon S3 并与特定属性相关联。这些文件将包括图片。我希望我的应用程序显示上传到 S3 的与当前显示的属性相关联的图片。

我对此有几个问题,但我想我现在会坚持一个。在 CarrierWave 自述文件中,它描述了您应该如何在表中创建一个新字段,然后将该字段安装到 Carrierwave,以便例如上传到系统的单个图像(头像)将与该特定用户相关联.图像与用户的这种“关联”是自动发生的。 (Rails 中有很多事情会神奇地发生。)就我而言,我希望针对一个特定的属性存储多个文件,所以我不确定我是否可以只使用一个字段来实现该目的。

在 Access 中,我将创建一个单独的文件表,该表将列出所有上传的文件以及每个文件相关的属性。该表将被“手动”填充(使用 VB)。

在 CarrierWave 中,我究竟该怎么做?我要挂载什么?

【问题讨论】:

  • 既然没有魔法,你必须创建一个独特的模型,在上面安装你的上传器,并声明一个 has_many-belongs_to 关系
  • 谢谢。任何能自动处理这种关系的东西都是魔法……无论如何,对我来说。 :)

标签: ruby-on-rails carrierwave


【解决方案1】:

类似这样的:

rails g uploader Photo
rails g model Image property_id:integer photo:string
class Property < ActiveRecord::Base
  has_many :images
end

class Image < ActiveRecord::Base
  belongs_to :property
  mount_uploader :photo, PhotoUploader
end

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 2013-02-24
    相关资源
    最近更新 更多