题
我工作的一个轨道应用程序,将包含信息上的一群人。有两种使用情况:
- 管理员进入和维持人员的个人档案
- 该人可以决定签署、日志中,并保持他们自己的档案
我努力工作之间的关系的配置文件和用户。现在,就是这 profile belongs_to :user
, , user has_one :profile
.
但是这一中断,因为有些档案没有用呢-他们是管理员维持。在这种情况下, user_id
列在 profiles
是空的,加入失败,和页面不负荷。++
怎么可能,我设立了一个"可能的belongs_to"种关系?
++(实际上,它涉及了空白,没有错误显示, development.log
没有任何错误,但我可以看到,它没有完成所有的查询,这对于档案没有一个用户。如果有人知道我如何可以得到一个有用的错误信息,而不是,那也将是巨大的。)
解决方案
这是正确的方式做到这一点。 belongs_to
不会阻止 null
值,这听起来像你想要什么。
"Page"个人资料,尚不属于一个用户可能不会有尽可能多的查询,因为没有需要(或)查询的用户表,配置文件。
你应该检查 profile.user
对于 nil
和现在你的意见。
其他提示
如果一个 Profile
真正属于一个 User
, 然后它不应该永远是空(它们没有意义的考虑 Engine
没有的 Car
它是连接)。所以你需要删除的 Profile.belongs_to :user
协会。
现在你应该可以自由编辑 Profiles
而简单地将它们连接到一个 User
一旦它们做好准备。但你有另一个问题:
该人可以决定签署、日志中,并保持他们自己的档案
怎么系统可靠地确定哪些预创建档案属于一个特定的用户,还没有个人档案?这是一个设计问题你必须进行排序。
不隶属于 StackOverflow