![]() |
1
2
快速回答:没有优雅的处理方式(我不确定优雅是如何量化的)。
您必须创建一个关注点,模仿null对象所基于的模型的持久性方法(User)。您还必须编写方法来安抚ActiveRecord,以使关联列
幸运的是,这个用例 solved |
![]() |
2
0
如果MyModel接受user\u id为null,则可以执行以下操作
|
![]() |
3
0
在这里使用空对象模式显然不是一个好主意,因为如果希望用户在“注册”之前具有任何类型的持久性,则需要数据库生成的ID来构建关联并维护引用完整性。
允许
相反,您希望在需要时创建来宾用户记录(如来宾用户将第一个项目添加到购物车时),并使用定期任务(如Cron选项卡)定期清除垃圾记录。 我也会考虑,如果您真的想将来宾用户设置为一个单独的类,因为STI和多态性在加入时往往会变得非常混乱。只需使用时间戳列(帐户激活时的记录)或枚举即可。 |
![]() |
4
0
一种选择是覆盖
Rails中的所有质量分配方法(创建、更新等)都将使用适当的setter来设置值。如果这是应用程序中的常见模式,则很容易引起关注。
如果你不允许
|
![]() |
5
0
我也有类似的问题。我只是从指定对象到指定
|
![]() |
Animesh Arya · 关联模型的Rspec 2 年前 |
![]() |
Kellen · 查看$卷展栏功能列表 2 年前 |
![]() |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 2 年前 |
![]() |
solidsnake99 · Rails db:如何绕过验证 2 年前 |
![]() |
Spyros · 从数组中删除nil值,并从引用数组中删除相应的项 2 年前 |
![]() |
Pauli-E · 当div打开并滚动到屏幕上时,向div添加类 2 年前 |
![]() |
ejoka · 如何使用Rails 7模型属性作为CSS标记值 2 年前 |