I'm using HAML as my template engine. When using either
link_to_unless or
link_to_unless_current:
- link_to_unless(controller.controller_name == 'home', 'Dashboard', root_path) do
%span Dashboard
I get a deprecation warning about starting with a minus. Fair
enough:
DEPRECATION WARNING: - style block helpers are deprecated. Please use =.
(called from _render_template_2471452342752540530_2154256720__1773247589947495410
at /Users/rob/Sites/my_app/app/views/layouts/application.html.haml:37)
So, I switch to using the equals version, however now I get the
number 6 output after my span!
http://skitch.com/cannikin/dpeim/active-trainer-2-the-return
http://skitch.com/cannikin/dpeip/source-of-http-localhost-3000
Happens every time, no matter the length of the text in the
block. If I switch filters to :erb and then write the code, and do
NOT use equals, I don't get the deprecation warning and everything
outputs okay:
:erb
<% link_to_unless(controller.controller_name == 'home', 'Dashboard',
root_path) do %>
<span>Dashboard</span>
<% end %>
If I use the = version I get an error!
/Users/rob/Sites/my_app/app/views/layouts/application.html.haml:
35: syntax error, unexpected ')'
...), 'Dashboard', root_path) do ).to_s); _erbout.concat "\n ...
... ^
/Users/rob/Sites/my_app/app/views/layouts/application.html.haml:
49: syntax error, unexpected keyword_end, expecting ')'
end;_hamlout.push_text(" #{_h...
^
/Users/rob/Sites/my_app/app/views/layouts/application.html.haml:
65: syntax error, unexpected keyword_ensure, expecting ')'
...:Util.html_safe(_erbout);ensure;@haml_buffer = @haml_buffer....
... ^
/Users/rob/Sites/my_app/app/views/layouts/application.html.haml:
65: syntax error, unexpected keyword_end, expecting ')'
...buffer = @haml_buffer.upper;end;
... ^
/Users/rob/Sites/my_app/app/views/layouts/application.html.haml:
68: syntax error, unexpected keyword_end, expecting ')'
I posted this issue over at the HAML Google Group and Nathan
(the author) says it's a Rails bug, not HAML:
http://groups.google.com/group/haml/browse_thread/thread/b01da24f0d...
Thanks,
Rob