我是使用继承资源的新手,并希望将其用于多态性嵌套注释。我有几个可以评论的对象(文章,画廊等),并且评论也可以嵌套。我使用的是Awesome_nested_set(parent_id,lft,rgt)的组合以及具有多态性评论列的评论模型。

控制器需要(仅)为创建操作接收AJAX请求,并按照以下方式执行:

发布到 /文章/12/评论/34 以与@Article(12)为等于@Comment(34)的父级的评论相等的评论。

/文章/12/评论/34

发布到 /画廊/12/评论/34 用@gallery(12)和父母等于@Comment(34)的父母创建评论。

我有点卡在哪里开始。这是继承资源的好用例吗?


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 
有帮助吗?

解决方案

嵌套评论很困难。 Rails Resources不会提供给创建动作的ID,因此我认为您不能以这种方式正确发布创建动作。您可能需要将注释添加到Alter_to选项中,因此您可以发布到 /评论/33/评论. 。我不知道继承源是否支持这一点。如果确实如此,则应该自动创建对象。您也可以参考parent_url等内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top