开发者

Using inherited_resources for nested, polymorphic comments

I am new to using inherited resources and want to use it for polymorphic nested comments. I have several objects that will be commentable (articles, galleries, etc.) and comments can also be nested. I'm using a combination of awesome_nested_set (parent_id, lft, rgt) with my Comment model having polymorphic commentable columns.

The controller needs to receive an AJAX request (only) for the create action and perform a开发者_如何学Gos below:

Posting to /articles/12/comments/34 creates a comment with commentable equal to @article (12) and parent equal to @comment (34)

/articles/12/comments/34

Posting to /gallery/12/comments/34 creates a comment with commentable equal to @gallery (12) and parent equal to @comment (34)

I'm a bit stuck on where to begin. Is this a good use case for inherited resources?


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 


Nested comments are difficult. Rails resources don't provide in passing an id to the create action, so I don't think you can properly POST to the create action this way. You might need to add comment to the belong_to options, so you can post to /comments/33/comments. I don't know if InheritedResources support this. If it does, object creation should be automatic. You can reference stuff like parent_url too.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜