link_to error in beta3

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

http://gist.github.com/396208

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:

http://gist.github.com/396575

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:

http://gist.github.com/396679

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:

http://gist.github.com/396679

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('</td>\n <td>'); @output_buffer.append= ( link_to 'Show', todx ); @output_buffer.safe_concat('</td>\n <td>');

But when the variable name is 'todo' the output is:

@output_buffer.safe_concat('</td>\n <td>'); @output_buffer.append= link_to 'Show', todo @output_buffer.safe_concat('</td>\n <td>');

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:

http://gist.github.com/396799

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