I've been having some problems with one of my templates.

These are the template sections and errors I've been getting (also at
http://pastie.caboo.se/81401)

## HAML snippet
      - payment.invoices.each do |invoice|
        %tr.invoice
          %td{:colspan => "2"}= h("Invoice #{invoice.remote_number}")
          %td= number_to_currency(invoice.amount, :unit => "£")
          %td

## Error
(eval):43:in `compile': compile error
(eval):32: syntax error, unexpected '}', expecting ')'
_hamlout.open_tag("td", nil, true, {}, nil, "\")", :colspan => "2"}=
h("Invoice #{invoice.remote_number)
                                                                   ^
(eval):32: syntax error, unexpected ')', expecting '}'
(eval):38: syntax error, unexpected kEND, expecting '}'
(eval):42: syntax error, unexpected kEND, expecting '}'

## Full Template
- page_title "Your Payments"

%table
  %thead
    %tr
      %th ID
      %th Invoices
      %th Amount
      %th Paid on
  %tbody
    - @payments.each do |payment|
      %tr.payment
        %td= h "Payment #{payment.id}"
        %td= h payment.invoices.count
        %td= h payment.amount
        %td= payment.paid_at ? payment.paid_at.strftime("%m/%d/%Y") :
'UNPAID'
      - payment.invoices.each do |invoice|
        %tr.invoice
          %td{:colspan => 2}= h("Invoice #{invoice.remote_number}")
          %td= number_to_currency(invoice.amount, :unit => "£")
          %td blank

## Attempt 2 Template
- page_title "Your Payments"

%table
  %thead
    %tr
      %th ID
      %th Invoices
      %th Amount
      %th Paid on
  %tbody
    - @payments.each do |payment|
      %tr.payment
        %td{:test => :thing}= h "Payment #{payment.id}"
        %td= h payment.invoices.count
        %td= h payment.amount
        %td= payment.paid_at ? payment.paid_at.strftime("%m/%d/%Y") :
'UNPAID'
      - payment.invoices.each do |invoice|
        %tr.invoice
          %td{:colspan => 2}= h("Invoice #{invoice.remote_number}")
          %td= number_to_currency(invoice.amount, :unit => "£")
          %td blank

## Attempt 2 Error
(eval):42:in `compile': compile error
(eval):13: syntax error, unexpected '}', expecting ')'
_hamlout.open_tag("td", nil, true, {}, nil, "\"", :test => :thing}= h
"Payment #{payment.id)
                                                                  ^
(eval):13: syntax error, unexpected ')', expecting '}'
(eval):28: syntax error, unexpected kDO_BLOCK, expecting '}'
 payment.invoices.each do |invoice|
                         ^
(eval):31: syntax error, unexpected '}', expecting ')'
_hamlout.open_tag("td", nil, true, {}, nil, "\")", :colspan => 2}=
h("Invoice #{invoice.remote_number)
                                                                 ^
(eval):31: syntax error, unexpected ')', expecting '}'
(eval):37: syntax error, unexpected kEND, expecting '}'
(eval):41: syntax error, unexpected kEND, expecting '}'

Eventually I tried changing the "Payment" and "Invoice" strings to
    ["Payment", payment.id].join(' ')
and the errors have disappeared.

I am using r570 and also had the same problem on r566

Any ideas on how or what this is caused by and I can poke around in
the engine.

Cheers,
Geoff


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Haml" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/haml?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to