[英]Ruby on rails model with multiple parents
在我的Rails應用程序中,我有兩個模型,文章和項目,它們都與用戶相關聯。 我想為每個模型添加注釋。 構建這個的最佳方法是什么?
這是我目前的設置:
class Comment < ActiveRecord::Base
belongs_to :article
belongs_to :project
end
class Article < ActiveRecord::Base
belongs_to :user
has_many :comments
end
class Project < ActiveRecord::Base
belongs_to :user
has_many :comments
end
class User < ActiveRecord::Base
has_many :articles
has_many :projects
has_many :comments, :through => :articles
has_many :comments, :through => :projects
end
這是處理結構的正確方法嗎? 如果是這樣,我如何管理CommentsController,如果它是通過文章創建的,則為article_id;如果是通過項目創建的,則為project_id? 我應該設置特殊路線嗎?
最后一條評論:評論並不總是需要有用戶。 因為這對我的網站來說,我希望匿名觀眾能夠發表評論。 這是一項微不足道的任務嗎?
你可以看看 - acts_as_commentable插件http://github.com/jackdempsey/acts_as_commentable/tree/master
或者你可以繼續進行多態關系
您可以使ArticleComment
和ProjectComment
具有相似的結構但是單獨存儲,然后創建一個返回兩種類型注釋的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.