【发布时间】:2013-05-10 18:48:27
【问题描述】:
我正在将一个非常旧的遗留应用程序从 PHP 移植到 rails,并且遇到了一些我不确定如何以“正确”的 RoR 方式实现的功能。
基本上,我们有一个收集潜在客户的注册表单,潜在客户的属性之一是他们的居住州,例如;阿拉斯加、佛罗里达等
我们还有一些客户可以登录后端并检索潜在客户列表。这些客户的列表按状态过滤,他们的“允许”状态与他们的帐户相关联。
最初的 PHP 应用程序是在我来这里很久之前编写的,它使用一种相当复杂的方法来为客户“拥有”的每个州创建一行,这意味着对于每个拥有亚利桑那州的客户,亚利桑那州都有一行。这个状态交叉引用表变得相当大,并且在 PHP 代码基于这些查找解析客户时创建了一些令人讨厌的嵌套循环。
我想过做一个叫做States的rails模型,让一个客户有很多州,一个州有很多潜在客户关系,但一定有更好的方法。
另一种选择是将每个客户的状态列表保存为一个数组,然后将该数组保存为一行中的文本,然后使用该数组查询数据库,或者为每个客户记录的每个状态创建一行并具有每个状态都有开启或关闭状态。
我觉得我缺少 rails 的内置功能,因为这似乎是一种相当常见的关系类型。
【问题讨论】:
标签: ruby-on-rails database model relationship