我是新手使用继承资源并希望将其用于 多态嵌套注释。我有几个对象 可评论(文章,画廊等)和评论也可以 嵌套。我正在使用awesome_nested_set(parent_id, lft,rgt)我的评论模型具有多态可评论性 列。
控制器需要(仅)接收创建的AJAX请求 行动并执行如下:
发布到 / articles / 12 / comments / 34 会创建一条注释,其评论等于@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
答案 0 :(得分:0)
嵌套评论很难。 Rails资源没有提供将id传递给create动作,所以我认为你不能以这种方式正确地POST到create动作。您可能需要在belongs_to选项中添加评论,以便发布到 / comments / 33 / comments 。我不知道InheritedResources是否支持这个。如果是,则对象创建应该是自动的。你也可以引用像parent_url这样的东西。