7
votes

Différence entre <% ...%> et <% = ..%> dans rails 3

J'ai une méthode de test dans les aides / Application_HELPER.RB Fichier:

<%= test %>


1 commentaires

Existe-t-il une raison spécifique que vous utilisez concat ?


5 Réponses :


10
votes

de Les rails Docs , < Code> Concat n'est censé être utilisé que dans un <%%> bloc de code. Lorsque vous l'utilisez dans un <% =%> bloc de code, vous le voyez deux fois parce que concat ajoute le texte fourni sur le tampon de sortie, mais il renvoie également l'ensemble de l'ensemble. Tampon de sortie Retour à la méthode de votre assistant, qui est alors sortie par le <% = , ce qui entraîne du dupliqué de votre page.

Normalement, vous n'avez pas besoin d'utiliser concat beaucoup si du tout (je n'ai jamais rencontré une situation où j'en avais besoin). Dans votre aide, vous pouvez simplement faire ceci: xxx

puis utilisez <% = test%> à votre vue. < / p>


1 commentaires

Merci Dylan Markow, pouvez-vous me montrer <%%> et <% =%> sont utilisés dans quel cas? J'utilise beaucoup de concessue dans ma méthode d'assistance, est-ce bon? Sinon, comment résoudre? (J'utilise Concat pour écrire une balise HTML dans la méthode de l'assistance)



16
votes

normalement un <%%> est un code d'individation d'un code de rails (c.-à-d. Démarrer un conditionnel, finissant d'un conditionnel, etc.), tandis que <% =%> évalue réellement une expression et renvoie une valeur à la page.


0 commentaires

11
votes

quelle est la différence? strong>

code> Évaluez le code Rails dans votre vue P>

code> Évaluez-vous le code rails à votre vue et imprime un résultat sur la page P>

Exemple # 1: strong> Le signe égal est analogue à "Met" SO: P>

<% if !user_signed_in? %>
    <%= "This text shows up on the page" %>
<% end %> 

#returns "This text shows up on the page" if the user is signed in


1 commentaires

Je cherchais <% -%>. Savez-vous par hasard ce qu'il fait?



-1
votes

Voir ceci:

<%= You need to do this %>
<% You shouldn't do this %>


0 commentaires

5
votes

C'est comme celui-ci xxx

et xxx


0 commentaires