2010-07-26 27 views
0

J'essaye de lancer une requête AJAX quand ma page se charge. Je suppose que ce serait mieux de mon contrôleur.Comment charger un partiel à l'intérieur d'un partiel?

D'abord, j'ouvre une nouvelle page ..

def text_tabs_nav 
end 

Cette page a la capacité de charge par AJAX Deux différents partials. Je veux charger l'un d'entre eux par défaut.

Je pensais que ce ..

def text_tabs_nav 
    respond_to do |format| 
    format.html 
    format.js 
    end 
end 

Et dans mes text_tabs_nav.js j'ai écrit ceci:

== $("#content").html("#{ escape_javascript(render :partial => 'about_us') }"); 

Mais le javascript n'a pas utilisé load..I même javascript pour charger des choses après qu'une page a été chargée, et cela fonctionne très bien. Quelqu'un sait-il comment charger un partiel (text_tabs_nav), avec une partie AJAX par défaut chargée dans (about_us)?

Merci!

Répondre

0

bien dans une flamme glorieuse de la défaite, je le contrôleur laissé tomber, un ajouté un appel régulier à mon avis.

:javascript 
    $("#content").html("#{ escape_javascript(render :partial => 'about_us') }"); 

Problème résolu.

0

Il n'est pas analysé car il se trouve dans un fichier js de type vanille. Ce que vous voulez est

text_tabs_nav.js.erb

+0

Vanille? Hmm .. mon fichier s'appelle text_tabs_nav.js cependant. J'ai changé mon contrôleur à format.js.erb et le fichier à cela aussi et il n'a pas rendu. Retourne la méthode non définie 'erb 'pour # Trip

+0

Je ne suis pas ... Votre fichier DEVRAIT s'appeler' text_tabs_nav.js.erb'. Sinon, les rails supposent que c'est juste un fichier javascript régulier sans ruby ​​à traiter. La ligne 'format.js' reste la même. Chaque fois que vous restituez quelque chose, il recherchera ce fichier (par exemple "text_tabs_nav.js") sans extensions, ou avec n'importe quelle extension de modèle (.erb, .haml). –

+0

Ah .. J'ai oublié de mentionner que je cours sur haml/sass. Ce qui est un peu plus près, je l'ai renommé 'text_tabs_nav.js.haml'. Donc, si je supprime le format.html de mon contrôleur, son chargement dans le bon contenu. Mais avec cela, il ne charge pas réellement l'AJAX dans la page. – Trip