我工作的一个轨道应用程序,将包含信息上的一群人。有两种使用情况:

  1. 管理员进入和维持人员的个人档案
  2. 该人可以决定签署、日志中,并保持他们自己的档案

我努力工作之间的关系的配置文件和用户。现在,就是这 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 一旦它们做好准备。但你有另一个问题:

该人可以决定签署、日志中,并保持他们自己的档案

怎么系统可靠地确定哪些预创建档案属于一个特定的用户,还没有个人档案?这是一个设计问题你必须进行排序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top