我对如何在Rails中处理一个相当简单的问题大加赞赏。我需要为用户录制电话号码,我想为用户添加一个电话号码作为主要联系号码的功能。我已经有一个PhoneNumber类(多态,因为企业也有电话号码),所以这一切都已设置好。
我认为我可以通过以下两种方式之一做到这一点:
在任何一种情况下,当用户将新的电话号码指定为主电话号码时,我将不得不添加一些代码来改变所有相关电话号码的属性。我很好奇是否有更多有经验的用户认为这里有明确的最佳做法。
答案 0 :(得分:0)
我更愿意制作两个模型PrimaryNumber
和SecondaryNumber
。关系将是User
has_one PrimaryNumber
,User
has_many(has_one取决于您允许的数量)SecondaryNumber
。这样你就可以得到
user = User.find(key)
user.primary_number
user.secondary_number(s)
为简单起见,因为只有一个Primary Number
,您可以在User
表格primary_number
中添加列。然后,您将不需要PrimaryNumber
表/模型
答案 1 :(得分:0)