如何使用2个模型User / Admin rails创建Post模型?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用2个模型User / Admin rails创建Post模型?相关的知识,希望对你有一定的参考价值。
我有2个模型(不是STI)User
和Admin
。现在我想用Post
创建博客文章(User and Admin
模型)。这不可能吗?或任何解决方案存在?
我尝试了一些解决方案:
- 创建
User
和AdminUser
(STI模型)(但我希望有2个模型用户/管理员) - 使用(user_id,admin_id)创建
Post
(它似乎浪费内存为空值) - 创建
Post
和AdminPost
(STI模型)(但我觉得很难管理)
有没有人对此问题有经验或建议?非常感谢。
答案
也许多态模型会好吗?
Post可以属于将其与其他模型(在本例中为User和Admin)相关联的关联。也许称之为postable
- 或更好的东西。
class Post < ApplicationRecord
belongs_to :postable, polymorphic: true
end
class User < ApplicationRecord
has_many :posts, as: :postable
end
class Admin < ApplicationRecord
has_many :posts, as: :postable
end
你可以查看here了解更多信息。
以上是关于如何使用2个模型User / Admin rails创建Post模型?的主要内容,如果未能解决你的问题,请参考以下文章
Rails 使用同一命名空间中的模型作为 belongs_to 引用,如何从外部引用模型
在Active Admin Rails中创建新项目时过滤下拉列表
Rails 3 - Active_admin 可以使用现有的用户模型吗?