【发布时间】:2017-11-25 01:58:20
【问题描述】:
在我的应用程序中,我有模型 Post 和 Image。 Post 和 Image 都有相同的列:description、title、tags。
这是我的模型中的内容:
class Post < ActiveRecord::Base
has_many :images, inverse_of: :post
accepts_nested_attributes_for :images
class Image < ActiveRecord::Base
belongs_to :post
当用户创建帖子时,我使用nested_forms,以便他们可以在帖子下添加任意数量的图片。
目前,当用户创建帖子时,将添加该帖子的描述、标题和标签到它的images (这是因为我为用户做的一些事情)来自Post 模型。
我就是这样做的。
class Post < ActiveRecord::Base
after_create :adding_details_to_images
private
def adding_details_to_images
self.images.each { |image| image.update_attributes(
description: self.description,
title: self.title,
tags: self.tags
)
}
end
用户仍然可以转到images#edit 查看并单独更改每张图片的描述、标题和标签。
如何查看每张图片的description、title和tags是否已被手动覆盖/更新,或者它们是否仍在使用/继承帖子的描述、标题和标签?
从帖子的、描述、标题和标签&创建一个数组是个好主意/做法吗? 图片的、描述、标题和标签并检查它们是否匹配?如果是这样,如何将其作为一个函数,以便我可以从模型或控制器调用?
【问题讨论】:
标签: ruby ruby-on-rails-4 inheritance model