假设我在Rails中有3个模型:帖子,评论和用户。它们中的每一个都应与Image模型具有一对一的关系。
我应该选择:
class Post
has_one :image
end
class Comment
has_one :image
end
class User
has_one :image
end
class Image
# Foreign key references
belongs_to :post
belongs_to :comment
belongs_to :user
end
或
class Post
belongs_to :image # Foreign key reference
end
class Comment
belongs_to :image # Foreign key reference
end
class User
belongs_to :image # Foreign key reference
end
class Image
end
每个的优点和缺点是什么? 还有其他众所周知的做法来处理这种情况吗?
答案 0 :(得分:1)
根据给定的数据,两者之间没有真正的区别。
...然而 以后......如果你突然决定你需要两张图片作为帖子,你需要在图片上加上post_id,而不是帖子上的image_id(否则你只会被卡住)能够有一个图像的帖子)。
这意味着你最好在图像端使用belongs_to,而不是在其他方面。