0

我是使用继承资源的新手,想将其用于多态嵌套注释。我有几个可以评论的对象(文章、画廊等),评论也可以嵌套。我将 awesome_nested_set (parent_id, lft, rgt) 与具有多态可注释列的 Comment 模型结合使用。

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

发布到/articles/12/comments/34会创建一个评论,commentable 等于 @article (12),父级等于 @comment (34)

/articles/12/comments/34

发布到/gallery/12/comments/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 
4

1 回答 1

0

嵌套评论很困难。Rails 资源不提供将 id 传递给 create 操作,因此我认为您不能以这种方式正确 POST 到 create 操作。您可能需要向belong_to 选项添加评论,以便您可以发布到/comments/33/comments。我不知道 InheritedResources 是否支持这一点。如果是这样,对象创建应该是自动的。你也可以参考像 parent_url 这样的东西。

于 2010-11-30T22:33:25.947 回答