102 votes

Comment commenter les lignes dans les fichiers html.erb de rails ?

Je suis novice en matière de rails, Je voudrais savoir comment commenter une seule ligne et comment commenter un bloc de lignes dans les fichiers *.html.erb. un bloc de lignes dans les fichiers *.html.erb.

1 votes

Duplication possible de Bloquer les commentaires dans les modèles html.erb dans rails pour les blocs, stackoverflow.com/questions/2774841/ pour les lignes simples

212voto

Nikolaus Gradwohl Points 8296

notes sur ruby on rails a un très bon article sur les commentaires dans les fichiers erb.

la version courte est

pour commenter une seule ligne, utilisez

<%# commented line %>

pour commenter un bloc entier, utilisez un if false pour entourer votre code comme ceci

<% if false %>
code to comment
<% end %>

14 votes

+1 Pour avoir résolu mon problème, mais je l'ai trouvé très moche. Pour commenter une ligne, je dois utiliser 3 caractères supplémentaires, et le commentaire du bloc n'est rien d'autre que du code qui ne sera pas exécuté - aucun autre code de couleur qui rend très peu pratique de voir quel code n'est pas exécuté à première vue.

24 votes

Pour une seule ligne, vous n'avez pas besoin des traits d'union, par exemple <%# mon commentaire %>.

0 votes

Une fonction d'aide au blocage des commentaires serait géniale. Peut-être que lorsque je gagnerai un peu plus d'expérience avec Rails (je suis assez nouveau), je créerai une demande de pull.

27voto

Gerry Points 2919

Notez que si vous voulez commenter une seule ligne de l'impression erb, vous devez faire comme ceci

<%#= ["Buck", "Papandreou"].join(" you ") %>

7voto

Flak DiNenno Points 754

Il s'agit de la RÉPONSE LA PLUS CLAIRE ET LA PLUS SIMPLE pour le code Ruby NON-PRINTE CONTIGUE :

Il se trouve que le texte ci-dessous répond également à la question du posteur original sans, le "Code conditionnel "laid que certains commentateurs ont mentionné.


  1. Code Ruby NON-PRINÇANT CONTIGUÉ

    • Cela fonctionnera dans n'importe quel mixte langue Vue de Rails fichier, par exemple *.html.erb, *.js.erb, *.rhtml etc.

    • Cela devrait également fonctionner avec STD OUT/impression code, par exemple <%#= f.label :title %>

    • DÉTAILS :

      Plutôt que d'utiliser des crochets de rails sur chaque ligne et de commenter devant chaque crochet de départ comme nous le faisons habituellement, voici comment procéder :

        <%# if flash[:myErrors] %>
          <%# if flash[:myErrors].any? %>
            <%# if @post.id.nil? %>
              <%# if @myPost!=-1 %>
                <%# @post = @myPost %>
              <%# else %>
                <%# @post = Post.new %>
              <%# end %>
            <%# end %>
          <%# end %>
        <%# end %>

      VOUS POUVEZ ENCORE ajouter un seul commentaire (dièse/signe de plomb) au premier crochet ouvert de Rails si vous écrivez votre code en un seul grand bloc... COMME CECI :

        <%# 
          if flash[:myErrors] then
            if flash[:myErrors].any? then
              if @post.id.nil? then
                if @myPost!=-1 then
                  @post = @myPost 
                else 
                  @post = Post.new 
                end 
              end 
            end 
          end 
        %>

1 votes

Les chances que mon code commenté fonctionne sont astronomiques.......

0 votes

@TejasKale désolé... pas sûr de ce que vous voulez dire ? --> les chances de VOTRE ou MON Le code** fonctionne ?

0 votes

Votre méthode ci-dessus générerait des erreurs si le code est incorrect, ce qui sera presque toujours le cas pour moi :)

0voto

Flak DiNenno Points 754

Bien que cela ne permette pas de commenter/empêcher le traitement de Ruby, si vous cherchez à commenter de multiples <%= dans le but de masquer temporairement la sortie, alors dans de nombreux cas, le simple fait de commenter le HTML généré par les aides de rails peut vous apporter ce dont vous avez besoin.

Par exemple :

Vous pourriez changer cela :

  <div class="field">
    <%= f.label :title %><br />
    <%= f.text_field :title %>
  </div>

à ça :

  <div class="field">
  <!--
    <%= f.label :title %><br />
    <%= f.text_field :title %>
  -->
  </div>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X