質問

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

コントローラーは、作成アクションのためにAJAXリクエスト(のみ)を受信し、以下のように実行する必要があります。

投稿 /記事/12/コメント/34 @article(12)に等しいコメント可能なコメントを作成し、@comment(34)に等しい親でコメントを作成します

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

投稿 /ギャラリー/12/コメント/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 
役に立ちましたか?

解決

ネストされたコメントは難しいです。 Railsリソースは、IDを作成アクションに渡す際に提供されていないため、この方法で作成アクションを適切に投稿できるとは思いません。 belbing_toオプションにコメントを追加する必要があるかもしれないので、投稿できます /コメント/33/コメント. 。 EnseritedResourcesがこれをサポートするかどうかはわかりません。もしそうなら、オブジェクトの作成は自動でなければなりません。 Parent_urlのようなものも参照できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top