Domanda

Sono nuovo di utilizzare le risorse ereditate e voglio usarlo per commenti nidificati polimorfici. Ho diversi oggetti che saranno commentabile (articoli, gallerie, ecc) e commenti possono anche essere nidificato. Sto utilizzando una combinazione di awesome_nested_set (parent_id, LFT, rgt) con il mio modello Commento avendo commentabile polimorfica colonne.

Il controller ha bisogno di ricevere una richiesta AJAX (solo) per la Creazione azione ed eseguire come di seguito:

Distacco di / articoli / 12 / commenti / 34 Crea un commento con commentabile pari a @article (12) e genitore pari a @comment (34)

/ articoli / 12 / commenti / 34

Distacco di / galleria / 12 / commenti / 34 crea un commento con commentabile pari a @gallery (12) e genitore pari alla @comment (34)

Sono un po 'bloccato su dove cominciare. È questo un caso d'uso per il buon risorse ereditate?


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 
È stato utile?

Soluzione

commenti annidati sono difficili. Rotaie risorse non forniscono a passare un id all'azione creare, quindi non credo che si possa correttamente POST all'azione creare in questo modo. Potrebbe essere necessario aggiungere un commento alle opzioni belong_to, in modo da poter inviare a / commenti / 33 / commenti . Non so se InheritedResources supportano questa. Se lo fa, la creazione di oggetti dovrebbe essere automatico. È possibile fare riferimento roba come parent_url troppo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top