在我的应用程序中,我有模型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
,以便他们可以在帖子中添加所需的图片。
目前,当用户创建帖子时,该帖子的描述,标题&amp; 标记将添加到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
查看并更改说明,标题&amp; 标签分别为每张图片。
如何查看每张图片的描述,标题&amp; 标记已被手动覆盖/更新,或者仍然使用/继承帖子的描述,标题&amp;的代码
从帖子,描述,标题&amp; 标签&amp; 图片,说明,标题&amp; 标记并检查它们是否匹配?如果是这样,怎么能作为一个功能,所以我可以从模型或控制器调用?
答案 0 :(得分:1)
这只是gabrielhilal's answer的变体:
从Post&#39>制作数组是不是一个好主意/做法,描述, 标题&amp;标签&amp;图片,描述,标题&amp;标记并检查它们是否存在 匹配吗?
是的,你可以这样做:
image.rb
def same_as_post?
summary == post.summary
end
def summary
[description, title, tags]
end
post.rb
def summary
[description, title, tags]
end
答案 1 :(得分:1)
如果你想确保手动更新它,我会将这些信息存储在<div id="container">
<div class="cell" style="background-color:pink;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit
</div>
<div class="cell" style="background-color:lightblue;">
Ut enim ad minim veniam, quis nostrud exercitation ullamco
</div>
</div>
表中(即images
布尔字段),然后确保在两者中都正确设置case(回调和更新端点)。
但是,如果您只想知道细节是否相同(用户可能使用与关联帖子相同的数据更新这些字段),您可以向data_from_post
模型添加以下内容:
Image