Quelqu'un peut-il décrire l'utilisation des caractères suivants qui sont utilisés dans le fichier ERB:
<% %>
<%= %>
<% -%>
<%# %>
quelle est l'utilité de chacun?
Quelqu'un peut-il décrire l'utilisation des caractères suivants qui sont utilisés dans le fichier ERB:
<% %>
<%= %>
<% -%>
<%# %>
quelle est l'utilité de chacun?
-%>
, et stackoverflow.com/questions/3952403/… pour<%=
, stackoverflow.com/questions/3901619/… pour<%#
.<%= %>
et<%= -%>
sont différents: seul ce dernier supprime les espaces de fin.Réponses:
Exécute le code ruby entre crochets.
Imprime quelque chose dans le fichier erb.
Évite le saut de ligne après l'expression.
Commente le code entre crochets; non envoyé au client (par opposition aux commentaires HTML).
Visitez Ruby Doc pour plus d'informations sur ERB.
la source
<%#
c'est juste un normal<%
avec un commentaire Ruby#
juste après ... Oui, c'est amusant de penser que c'est quelque chose de spécial, mais n'est-ce pas simplement un idiome ERB plutôt qu'une construction syntaxique spéciale?<%...%>
,<%#...%>
commente tout cela, ce qu'il ne ferait pas si c'était juste un commentaire normal (c'est-à-dire qu'il ne ferait que commenter la ligne c'est en marche).<% %>
et<%- and -%>
sont pour n'importe quel code Ruby, mais ne produisent pas les résultats (par exemple, si les instructions). les deux sont les mêmes.<%= %>
sert à produire les résultats du code Ruby<%# %>
est un commentaire ERBVoici un bon guide: http://api.rubyonrails.org/classes/ActionView/Base.html
la source
<%-
fait quoi que ce soit pour le premier espace blanc, et je ne le vois documenté nulle part. Êtes-vous sûr de cela? C'est peut-être une saveur différente d'ERB. Il n'y a aucune option indiquée pour cela sur les documents stdlib.Rails n'utilise pas l' ERB de stdlib par défaut, il utilise erubis . Sources: le commentaire de ce développeur , gemspec d'ActionView , accepté la demande de fusion que j'ai faite en écrivant ceci .
Il existe des différences de comportement entre eux, en particulier sur la façon dont les opérateurs de trait d'union
%-
et-%
fonctionnent.La documentation est rare, où le format ERB de Ruby est-il "officiellement" défini? donc ce qui suit sont des conclusions empiriques.
Tous les tests supposent:
Quand pouvez-vous utiliser
-
-
à l'trim_mode
option deERB.new
pour l'utiliser.Exemples:
Qu'est
-%
- ce que:ERB: supprime le caractère suivant s'il s'agit d'une nouvelle ligne.
erubis:
en
<% %>
(sans=
),-
est inutile car<% %>
et<% -%>
sont les mêmes.<% %>
supprime la ligne actuelle si elle ne contient que des espaces blancs et ne fait rien d'autre.en
<%= -%>
(avec=
):Exemples:
Qu'est
%-
- ce que:ERB: supprimer les espaces blancs avant la balise et après les sauts de ligne précédents, mais uniquement s'il n'y a que des espaces blancs avant.
erubis: inutile parce que
<%- %>
c'est la même chose que<% %>
(sans=
), et cela ne peut pas être utilisé avec=
qui est le seul cas où cela-%
peut être utile. Alors n'utilisez jamais ça.Exemples:
Que faire
%-
et-%
faire ensembleLa combinaison exacte des deux effets séparément.
la source
<% %>
: Exécute le code rubis<%= %>
: Imprime dans le fichier Erb. Ou navigateur<% -%>
: Évite le saut de ligne après l'expression.<%# %>
: Commentaire ERBla source
J'ai ajouté le
<%%
délimiteur de balises littérales comme réponse à cela en raison de son obscurité. Cela indiquera à erb de ne pas interpréter la<%
partie de la balise qui est nécessaire pour les applications js comme l'affichage des info-bulles chart.js, etc.Mise à jour (lien cassé fixe)
Tout ce qui concerne ERB peut maintenant être trouvé ici: https://puppet.com/docs/puppet/5.3/lang_template_erb.html#tags
la source
Ceux-ci sont utilisés en rubis sur rails : -
<%%>: -
Les balises <%%> sont utilisées pour exécuter du code Ruby qui ne renvoie rien, comme des conditions, des boucles ou des blocs. Par exemple :-
<% =%>: -
utiliser pour afficher le contenu.
<% -%>: -
Rails étend ERB, de sorte que vous pouvez supprimer la nouvelle ligne simplement en ajoutant un trait d'union de fin aux balises dans les modèles Rails
<% #%>: -
commenter le code
la source
<% %>
exécute le code dedans mais n'imprime pas le résultat, par exemple:Nous pouvons l'utiliser pour sinon dans un fichier erb.
Imprime
temp is 1
<%= %>
exécute le code et imprime également la sortie, par exemple:Nous pouvons imprimer la valeur d'une variable rails.
Imprime
1
<% -%>
Cela ne fait aucune différence car il n'imprime rien,-%>
n'a de sens qu'avec<%= -%>
, cela évitera une nouvelle ligne.<%# %>
commentera le code écrit dans ce document.la source