Nol*_*nDC 3 ruby activerecord ruby-on-rails
在我的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
Run Code Online (Sandbox Code Playgroud)
这是处理结构的正确方法吗?如果是这样,我如何管理CommentsController,如果它是通过文章创建的,则为article_id;如果是通过项目创建的,则为project_id?我应该设置特殊路线吗?
最后一条评论:评论并不总是需要有用户.因为这对我的网站来说,我希望匿名观众能够发表评论.这是一项微不足道的任务吗?