Link_to error in beta3

Can anybody take a quick look at the following problem, occurring with
beta3 on Ruby 1.9.2 ?

I used the scaffold generator for the above, so this is just using
defaults (the example is in an index view; specifying an action works
but the shorter version doesn’t).

Also, ‘entity’ does have a primary key.

This is weird.

Check this out:

See how “link_to ‘Show’” is output (Line 39)? Especially compared to
the other link_to calls?

I changed my view template to the following and it works:

In other words, I just threw a semi-colon in there and it works. I
don’t know exactly where this should be fixed . . .

I updated the gist with additional information:

I’m still drilling down into this but the problem is happening inside
the erubis gem when the template is parsed.

When the variable name is ‘todx’ the output includes:

@output_buffer.safe_concat(‘\n ’);
@output_buffer.append= ( link_to ‘Show’, todx );
@output_buffer.safe_concat(‘\n ’);

But when the variable name is ‘todo’ the output is:

@output_buffer.safe_concat(‘\n ’);
@output_buffer.append= link_to ‘Show’, todo
@output_buffer.safe_concat(‘\n ’);

It’s mangled; I wonder if it’s matching “do” somewhere?

Okay, last one.

I spoke too soon. It wasn’t in the erubis gem, but a call back to
ActionView::Template::Handlers::Erubis’s add_expr_literal method and a
false match on the pattern BLOCK_EXPR. See:

I think the do pattern may need word boundaries or whitespace
characters surrounding it. I should probably report this
somewhere . . .