sstephenson / eco

Embedded CoffeeScript templates
MIT License
1.71k stars 70 forks source link

Eco template renders integer when using 'end' statement #44

Open mewdriller opened 12 years ago

mewdriller commented 12 years ago

I have a pretty simple Backbone View that I'd like to have render some blocks of HTML conditionally. I'm seeing a behavior where following the conditionally rendered HTML there is a integer rendered as well. From what I can tell, it seems to happen when I use the end statement to terminate a conditional block.

Here's some code that is demonstrating the error for me:

<% if true: %>Hello World!<% end %>

I would expect this to renderHello World! into the containing element. However, it's actually rendering Hello World!2.

If I add several of blocks in the same template:

<% if true: %>Foo, <% end %>
<% if true: %>Bar, <% end %>
<% if true: %>Baz<% end %>

I would expect this to render Foo, Bar, Baz into the containing element. However, it's actually rendering Foo, 2 Bar, 5 Baz8. After running a somewhat larger set of them, it seems the integer being printed goes up by 3 every time. From reading over the gem's README I can't see anything I'm doing wrong.

Any help would be much appreciated!

mewdriller commented 12 years ago

Added on SO as well: http://stackoverflow.com/questions/10035900/eco-template-renders-integer-when-using-end-statement.

bdillahu commented 10 years ago

I'm getting this also... from the age, I guess we're not looking at a fix.

And just as a follow-up, I found I had <%= if.... - removing the "=" got rid of the integer.