gpt4 book ai didi

ruby-on-rails - Rails 中的多个 belongs_to 模型

转载 作者:行者123 更新时间:2023-12-02 00:46:31 27 4
gpt4 key购买 nike

我有一个评论模型,目前正在处理文章。我现在想让用户能够对 Coffeeshop 评论发表评论。我可以使用相同的评论表吗,或者我应该有一个单独的评论表(感觉很糟糕)。我使用 RoR 进行构建的时间不长(几周),所以仍在努力掌握基础知识。

我会把它们嵌套在 routes.rb 中吗(以及如何嵌套)

  resources :coffeeshops do
resources :articles do
resources :comments
end

  resources :coffeeshops do
resources :comments
end

resources :articles do
resources :comments
end

我的模型看起来像:

用户

class User < ApplicationRecord
has_many :comments
end

评论

class Comment < ApplicationRecord
belongs_to :user
belongs_to :article
belongs_to :coffeeshop
end

文章

class Article < ApplicationRecord
has_many :comments, dependent: :destroy
end

咖啡店

class Coffeeshop < ApplicationRecord
has_many :comments, dependent: :destroy

然后我假设我需要一个外键来将用户和评论绑定(bind)在一起,然后还要将评论绑定(bind)到文章/咖啡店。

最佳答案

我会使用多态关联。

http://guides.rubyonrails.org/association_basics.html#polymorphic-associations

class User < ApplicationRecord
has_many :comments
end

class Comment < ApplicationRecord
belongs_to :user
belongs_to :commentable, polymorphic: true
end

class Article < ApplicationRecord
has_many :comments, as: :commentable
end

class Coffeeshop < ApplicationRecord
has_many :comments, as: :commentable
end

有关设置路由/ Controller 的更多信息:

https://rubyplus.com/articles/3901-Polymorphic-Association-in-Rails-5 http://karimbutt.github.io/blog/2015/01/03/step-by-step-guide-to-polymorphic-associations-in-rails/

关于ruby-on-rails - Rails 中的多个 belongs_to 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43344235/

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