11
votes

ERB VS CONVERSION HAML D'UNE CONDITION IF?

Je commence à commencer avec Haml et je travaille sur ma conversion de mon premier fichier. L'omission ostensiblement correcte de "- fin": xxx pré>

me fait: p> xxx pré>

tandis que la logique p> XXX PRE>

Obtient-moi: P>

You don't need to use "- end" in Haml. Use indentation instead:
- if foo?
  %strong Foo!
- else
  Not foo.


1 commentaires

Vous avez la réponse dans votre question ... Le message d'erreur vous dit exactement quoi faire.


3 Réponses :


21
votes

HAML est basé sur l'indentation et l'analyseur peut être délicat. Remplacez

- if current_user
  = link_to 'Edit Profile', edit_user_path(current_user.id)
  = link_to 'Logout', logout_path
- else
  = link_to 'Register', new_user_path
  = link_to 'Login', login_path


6 commentaires

"Indentation incohérente: 5 espaces ont été utilisés pour l'indentation, mais le reste du document a été indenté à l'aide de 2 espaces." Cela n'a pas aimé ça. :(


Vous encadrez quelque chose de trop d'espaces - ou trop peu. Pouvez-vous publier votre modèle entier?


J'ai pris un autre regard sur l'espacement et je pense que tu avais raison. Je pense que j'ai réparé l'indentation mais maintenant je reçois cela: /app/models/user_session.rb:5: erreur de syntaxe, inattendu '<' << w3.org/1999/xhtml "xml: lang =" fr "lang =" fr "> ^ /app/models/user_session.rb:8: erreur de syntaxe, teneur inattendu, attente de $ fin w3.org/1999/XHTML " XML: Lang = "fr" Lang = " fr "> ^ Qu'est-ce que je manque?


Cela ne semble pas être lié à HAML. On sonne comme si vous avez accidentellement placé HTML dans un fichier de classe modèle.


@CHUCK: HAML n'est pas utilisé pour les modèles, il est utilisé pour les vues. @sleepycat: Vous avez HTML dans votre fichier HAML. Veuillez faire une lecture supplémentaire dans HAML et trouver quelques exemples.


En fait, aussi loin récupéré que c'était, Chuck a cloué. J'avais essayé de sauvegarder un fichier modèle de GitHub et pour une raison quelconque, il suffit de recevoir un tas de HTML au lieu de tout code rubis. Quel bordel! Les trucs haml dans la vue étaient un peu foirés aussi, mais je l'ai réglé avec les conseils que vous avez donnés. Merci à tout le monde!



3
votes
- if current_user
  = link_to 'Edit Profile', edit_user_path(current_user.id)
  = link_to 'Logout', logout_path
- else
  = link_to 'Register', new_user_path
  = link_to 'Login', login_path

0 commentaires

1
votes

0 commentaires