![]() |
1
23
简单的答案是将关联设置为与所拥有的内容相反的形式,如下所示:
您根本不需要内容表中的外键“background”(背景图像)和“profile”(配置文件)图像。 不过,还有一个更优雅的解决方案: 单表继承。现在就设置它,以防将来背景图像和配置文件图像的行为稍有不同,而且它今天将澄清您的代码。 首先,向图像表中添加一个名为“类型”的列:
现在按如下方式设置模型:
现在,您可以执行各种操作,例如获取所有背景图像的列表:
这更符合您试图创建的数据模型,允许将来最简单的可扩展性,并且今天为您提供了一些很酷的新方法。 更新: 从那以后我就写了一篇名为 Single-Table Inheritance with Tests 这涉及到更多的细节,包括测试。 |
![]() |
2
1
基于
the AR associations guide
,我想你应该用
最后,我不确定您是否需要内容和图像都有外键。只要图片引用了内容,我想你没事。 |
![]() |
cluster1 · 采取独立的新行动的好处是什么? 6 月前 |
![]() |
Robert · 使用JSON或哈希时,将NULL替换为NIL 6 月前 |
![]() |
Fred Willmore · Rails控制器不呈现任何模板 1 年前 |
![]() |
Diogo Amaral · 实现API请求的正确方式 1 年前 |
![]() |
Meknassih · 在控制器方法中分配给模型没有任何作用 1 年前 |
![]() |
Michael Ding · Rails上的默认会话到期问题 1 年前 |
|
Flávio · 基于另外两个生成数组 1 年前 |