Strange rhtml template compile error

Hi,
I have the following statement inside an rhtml file

%=“ğĞğ”%>

These chars are from ISO-8859-9 and their byte values are F0, D0, F0
respectively, which are “LATIN SMALL LETTER G WITH BREVE” and “LATIN
CAPITAL LETTER G WITH BREVE”.

When I run this code it gets:

compile error
C:/test/app/views/test/work.rhtml:1: unterminated string meets end of
file
C:/test/app/views/test/work.rhtml:1: syntax error, unexpected $end,
expecting ‘)’

Extracted source (around line #1):

1: <%=“���”%>

However when I debug the code using rdebug, I see that the following
code
in action_view\template_handlers\compileable.rb is called.

ActionView::Base::CompiledTemplates.module_eval(render_source,
file_name, -line_offset)

Here the value of render_source printed by the debugger is as follows:

“def _run_erb_47app47views47test47work46rhtml(local_assigns)\n_erbout =
‘’; _erb
out.concat((“­-º­-”).to_s); _erbout\nend”
^ ^
| |---- it does not escape here
|---- here it escapes " but

The strange thing I noticed is above, where it escapes the first double
quote but not the second.

I thougt that the debugger may not be interpreting the characters
correctly so checked the byte values by evaluating by hand like
render_source[91], render_source[92], render_source[93]. It gave me
correct values as 240, 208 and 240 again. However, module_eval keeps
giving compilation error although I cannot see and appearant reason why
is fails.

Can someone shed some light on it?

Thanks.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs