ActiveRecord:添加“假”模型类的最佳方法?

问题描述 投票:0回答:2

在我们的Rails应用程序中,Post资源可以由UserAdmin组成。

因此,我们有一个名为Postbelongs_to :author, polymorphic: true的ActiveRecord模型类。

但是,在某些情况下,系统本身应该能够创建帖子。因此,我正在寻找一种添加例如Systemauthor

显然,将永远只有一个System,因此它不会存储在数据库中。

[天真的尝试仅添加作者的class System; end实例(例如单例实例)会返回NoMethodError: undefined method `primary_key' for System:Class之类的错误。

解决这个问题的最干净的方法是什么?

有没有一种方法可以编写实际上不是数据库一部分的'伪'ActiveRecord模型?

在我们的Rails应用程序中,发布资源可以由用户或管理员创建。因此,我们有一个称为Post的ActiveRecord模型类,它具有一个属名:author,多态性:true。但是,在...

ruby-on-rails singleton rails-activerecord
2个回答
1
投票

我认为有两种方法最有意义:


0
投票

最后,我最终创建了不需要对数据库架构进行任何更改的以下“假”模型类。

它利用了一些元编程:

© www.soinside.com 2019 - 2024. All rights reserved.