gpt4 book ai didi

ruby-on-rails - 如何在 Ruby on Rails 中实现 Petitions 和 User 模型之间的关系?

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:51 25 4
gpt4 key购买 nike

我想知道在 Ruby on Rails 中模拟请愿和用户之间关系的最佳方法是什么。这是限制条件

-用户拥有请愿书

-用户创建请愿书

-一个用户可以是请愿书的作者

-所有用户都可以签署一份请愿书

这是多态性的情况吗?

最佳答案

请愿书可以简单地属于使用正常的 has_many 和 belongs_to 关系定义创建它的用户。然后使用 HABTM 表来跟踪签名者。

对于我要定义的用户类...

  has_many :created_petitions, :class_name => 'Petition', :foreign_key => 'creator_id'
has_and_belongs_to_many :signed_petitions, :class_name => 'Petition', :association_foreign_key => 'signer_id'

对于 Petition 类,我将定义...

   belongs_to :creator, :class_name => 'User'
has_and_belongs_to_many :signers, :class_name => 'User', :foreign_key => 'signer_id'

那么迁移将是...

create_table :petitions_signers, :id => false do |t|
t.integer :petition_id
t.integer :signer_id
end

add_column :petitions, :creator_id, :integer

关于ruby-on-rails - 如何在 Ruby on Rails 中实现 Petitions 和 User 模型之间的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8420527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com