2010-11-30 11 views
0

継承されたリソースを初めて使用していて、それを 多態的なネストされたコメントに使用したいです。私は がコメントできるいくつかのオブジェクトを持っており(記事、ギャラリーなど)、コメントは のネストされています。私はawesome_nested_set(parent_id、 lft、rgt)の組み合わせを、多態性のコメント可能な カラムを持つコメントモデルと併用しています。ネストされた多態性コメントのための継承されたリソースの使用

コントローラは アクションを作成し、以下のように実行するためのAJAXリクエスト(のみ)を受信する必要がある:/物品/ 12 /コメント/ 34は@articleにcommentable等しいとコメントを作成する

転記(12)と/ギャラリー/ 12 /コメント/ 34がにcommentable等しいとのコメントを作成するには(34)

/記事/ 12 /コメント/ 34

投稿を@commentに等しい親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オプションにコメントを追加する必要があるかもしれないので、/comments/33/commentsに投稿することができます。 InheritedResourcesがこれをサポートしているかどうかはわかりません。存在する場合、オブジェクトの作成は自動的に行われます。 parent_urlのようなものも参照できます。

+0

コメントハッシュの一部としてcommentable_idとcommentable_typeを渡すだけですか?私はそれらを設定する必要があり、当初はURLから引っ張っていく予定でした。 –

関連する問題