2011-01-18 2 views
7

Existe-t-il un moyen accepté de générer le javascript dans la présentation de l'application, en fonction de ce qu'est le contrôleur/l'action?Rails: comment utiliser javascript sous condition de contrôleur/action

+0

Votre question serait mieux si nous pouvions voir un échantillon du javascript dont vous parlez. –

+0

Voulez-vous dire que vous voulez inclure différents fichiers javascript pour différentes vues? – Swanand

Répondre

8

content_for est la bonne façon de procéder. En fonction de l'action en cours, vous pouvez inclure des javascripts requis pour la vue en question. Cependant, il devrait être seulement dans la tête que le chargement de javascripts au milieu de la page est considéré comme envahissant et donc avoir un contenu pour dans la tête de la page. comme

<head> <%= yield :dynamic_javascripts %> </head> 

et

<% content_for :dynamic_javascripts do %> 
    <%= javascript_include_tag "javascript.js" %> 
<%end%> 
2

Dans votre mise en page de l'application dont vous avez besoin d'un « rendement » comme celui-ci:

<html> 
    <head> 
    <%= yield :head %> 
    </head> 
    <body> 
    </body> 
</html> 

Ensuite, dans votre point de vue du contrôleur, vous pouvez spécifier les fichiers javascript spécifiques pour ce point de vue en utilisant:

<% content_for :head do %> 
    <%= javascript_include_tag "my_javascript_file.js" %> 
<% end %> 

Le content_for méthode vous permet d'insérer du contenu dans un bloc de rendement nommé dans votre mise en page.

Questions connexes