2010-09-27 7 views
0

Ainsi, il s'avère que les expéditeurs détestent la boucle à l'intérieur d'eux. Alors, voici ma boucle.Rails - Comment exécuter une boucle dans un mailer?

- for ["love", "hate", "war"].each do |f| 
    = f 

qui retourne envoyé par cette allé actionmailer dans des rails 2.3.5:

promotion_reminder.html.haml:17: syntax error, unexpected ';', expecting tCOLON2 or '[' or '.' 
...ry_temp));}\n", 0, false);end;_hamlout.push_text("  </di... 

On line #17 of app/views/notifier/promotion_reminder.html.haml 

14:   
15:   - for ["love", "hate", "war"].each do |f| 
16:   = f 

Comment voulez-vous y parvenir?

+0

Merci à tous. Je me suis réveillé avec les stupides ce matin. Je pense que vous devriez tous vous faire tester. – Trip

Répondre

2

Le problème est à la fois à l'utilisation for et each. Essayez ceci:

- ["love", "hate", "war"].each do |f| 
    = f 

ou ceci:

- for f in ["love", "hate", "war"] do 
    = f 

Je ne me haml. A-t-il besoin de end pour fermer le bloc?

+0

Non. Une des grandes commodités de Haml est que vous ne fermez pas explicitement les blocs. Vous utilisez plutôt l'espace blanc et Haml crée vos blocs dans les coulisses. – jdl

+0

haml utilise des espaces blancs significatifs pour fermer les blocs. –

+0

Oui Klew, rejoignez-nous. Rejoignez-nous klew .. – Trip

1

essayer

- ["love", "hate", "war"].each do |f| 
    = f 

et regarder votre sapce blanc

1
- ["love", "hate", "war"].each do |f| 
    = f