【问题标题】:Rails multi-instances of one modelRails 一个模型的多实例
【发布时间】:2011-11-23 06:15:33
【问题描述】:

我正在使用 Rails 3.1 和 Papercip gem 编写简单的文件上传。

class Asset < ActiveRecord::Base
belongs_to :assetable, :polymorphic => true
has_attached_file :data
end

如何一次加载 3 个(或更多)文件。父资产对象已创建。

【问题讨论】:

  • 您可能想稍微澄清一下您的问题,以获得更好的答案。

标签: ruby-on-rails file file-upload paperclip


【解决方案1】:

注意资产名称,它会与 rails 3.1 资产管道冲突...

您应该使用nested_attributes_for 来解决您的问题

【讨论】:

  • 感谢您的评论。创建父对象时如何使用nested_attributes_for?就我而言,有项目和文件。有人创建一个项目,然后添加文件。有完全分离的任务。
  • 在项目类中,可以添加
  • ...类似accepts_nested_attributes_for :files,然后使用cocoon,或者在嵌套表单上观看railscast...
  • ... 对于资产模型(考虑使用新名称,否则您的控制器资产,动作索引会冲突)您可以使用 sti 模型,只需添加 :type 字段,这样您就可以管理不同的资产类型
【解决方案2】:

您只能将一个带有回形针的文件按原样附加到每个资产实例。如果每个 Asset 都附加了一个或多个文件,您可以将 has_attached_file 放在另一个名为 Data 的类中,或任何您喜欢的类中,并将 has_many :data 添加到 Asset。

【讨论】:

    猜你喜欢
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多