Ruby on rails 将继承的资源用于嵌套的多态注释

Ruby on rails 将继承的资源用于嵌套的多态注释,ruby-on-rails,comments,polymorphism,inherited-resources,Ruby On Rails,Comments,Polymorphism,Inherited Resources,我不熟悉使用继承的资源,希望将其用于 多态嵌套注释。我有几件物品需要处理 可评论(文章、画廊等)和评论也可以 嵌套的。我使用了一个很棒的嵌套集合(父id, lft,rgt),我的注释模型具有多态注释 列 控制器需要(仅)接收用于创建的AJAX请求 操作和执行如下: 发布到/articles/12/comments/34创建一条评论,其可评论内容等于@article(12),父项等于@comment(34) /第6/12/comments/34条 发布到/gallery/12/comments/3

我不熟悉使用继承的资源,希望将其用于 多态嵌套注释。我有几件物品需要处理 可评论(文章、画廊等)和评论也可以 嵌套的。我使用了一个很棒的嵌套集合(父id, lft,rgt),我的注释模型具有多态注释 列

控制器需要(仅)接收用于创建的AJAX请求 操作和执行如下:

发布到/articles/12/comments/34创建一条评论,其可评论内容等于@article(12),父项等于@comment(34)

/第6/12/comments/34条

发布到/gallery/12/comments/34会创建一条评论,其可评论性等于 @画廊(12)和家长等于@comment(34)

我有点不知道从哪里开始。这是一个很好的用例吗 继承资源


class CommentsController:create
属于:文章,:作弊,:图库,:视频,:多态=>true
做
属于:评论
结束
def创建
创造!do |格式|
#在这里,我如何构建一个注释,以便它能够处理
多态性?
@comment.children.create(:commentable=>@article或@cheat或
@什么东西(通用?)
结束
结束
结束

嵌套注释很困难。Rails资源没有向create操作传递id,因此我认为您不能以这种方式正确地发布到create操作。您可能需要将注释添加到“属于”选项中,以便可以发布到/comments/33/comments。我不知道继承资源是否支持这一点。如果有,对象创建应该是自动的。您也可以引用诸如父url之类的内容。

那么只需将可注释的id和可注释的类型作为注释哈希的一部分传入即可?我需要能够设置这些,并且最初计划从URL中提取。
class CommentsController < InheritedResources::Base 
  respond_to :js, :only => :create 
  belongs_to :article, :cheat, :gallery, :video, :polymorphic => true 
do 
    belongs_to :comments 
  end 
  def create 
    create! do |format| 
       # How in here do I build a comment so that it handles 
polymorphism? 
       @comment.children.create(:commentable => @article or @cheat or 
@something_generic?) 
    end 
  end 
end