0

我想知道是否有可能使用回形针让多个模型都使用一个中央模型来保存其图像。例如,我会有一个照片模型,它会使用回形针来存储其网址等

就我而言,我有 2 个模型,投资组合和帖子,它们都有一个表单,允许您将图像和其他属性上传到模型。

所以两个模型都可以有一个

has_many :photos, :dependent => :destroy
accepts_nested_attributes_for :photos

还是我需要为每张照片创建单独的模型,即 photo1、photo2 来做到这一点?以便投资组合模型为图像提供一个,而后模型为它的图像提供另一个?

我只是想更好地理解并保持干燥

谢谢

4

1 回答 1

1

您可以使用多态关联,其中一个以上的模型将有许多照片。

http://guides.rubyonrails.org/association_basics.html#polymorphic-associations

http://railscasts.com/episodes/154-polymorphic-association-revised

例子:

您的模型将被称为 media 并且属于 mediaable,其中 mediaable 可能是文章、用户、帖子等:

belongs_to :mediable, ploymorphic: true

用户、文章、帖子模型或其他:

has_many :medias, as: mediable

于 2013-08-06T07:36:54.103 回答