2009-09-10 7 views
0

J'utilise jQuery pour faire un appel ajax à mon contrôleur, et tout fonctionne parfaitement, sauf que je ne peux pas obtenir la valeur de retour que je veux.rendre la collection de partiels comme html dans les rails

Disons que j'ai une collection d'articles, et je le partiel:

/app/views/messages/_message.html.erb 

Je suis en train de le rendre comme une grande chaîne de texte/html comme ceci:

format.js { render_to_string :partial => "message", :collection => @messages} 

Cependant, cela rend une vue quelconque, parce que je reçois des balises. Même si je le change en:

format.js { render_to_string :partial => "message", :collection => @messages, :layout => 'none'} 

il retourne toujours la même chose. Est-ce possible? J'ai besoin de le retourner pour que jQuery le gère, donc je ne suis pas sûr que cela puisse être fait avec rjs. Toute aide est appréciée.

Répondre

2

Avez-vous essayé d'utiliser simplement render plutôt que render_to_string?

En outre, le fait que vous utilisez jQuery rend ce un peu plus compliqué, si vous utilisiez prototype vous pouvez utiliser RJS et faire quelque chose comme

page.replace_html('container_element', :partial => @messages) 
+0

Je ne veux pas remplacer le code html du élément conteneur, je veux y ajouter. Je peux utiliser page.replace_html grâce au plugin jrails –

+0

Ensuite, vous utiliserez: page.insert_html: bottom,: partial => @messages – jonnii

Questions connexes