2010-11-30 42 views
0

我對使用繼承的資源感興趣,並且希望將它用於 多態嵌套註釋。我有幾個對象,將 可評論(文章,畫廊等)和評論也可以嵌套 。我正在使用awesome_nested_set(parent_id, lft,rgt)與我的評論模型的組合,該模型具有多態性可評論的 列。將inherited_resources用於嵌套的多態註釋

控制器需要接收一個AJAX請求(僅)用於創建 動作並如下執行:

過賬到/物品/ 12 /評論/ 34創建具有commentable等於@article評論(12)和母等於@comment(34)

/物品/ 12 /評論/ 34

過賬到/畫廊/ 12 /評論/ 34創建具有commentable等於評論10 @ 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

嵌套評論是困難的。 Rails資源不會向創建操作傳遞一個id,所以我認爲您不能通過這種方式正確地將POST發佈到創建操作。您可能需要爲belongs_to選項添加評論,因此您可以發佈到/評論/ 33 /評論。我不知道InheritedResources是否支持這一點。如果是這樣,對象創建應該是自動的。你也可以引用像parent_url這樣的東西。

+0

那麼只需傳入commentable_id和commentable_type作爲評論哈希的一部分?我需要能夠設置這些,並且最初計劃從URL中提取。 – 2010-11-30 22:44:58