nop*_*ole 2 ruby ruby-on-rails erb
<pre>中显示一条线
<%= h @stories.inspect %>
Run Code Online (Sandbox Code Playgroud)
并且输出太长了,所以我把它改成了
<%= #h @stories.inspect %>
<% @stories.each do |s| %>
<%= h s.inspect %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
(评论第一行).现在代码将无法编译...说
编译错误
/Users/winterheat/ror/shov2/app/views/stories/index.html.erb:13:语法错误,意外的kENSURE,期待')'
/ Users/winterheat/ror/shov2/app/views/stories/index.html.erb:15:语法错误,意外的kEND,期待')'
如果我完全删除该注释行,代码将工作.我想在一些书中,据说你可以在ERB中注释掉一些代码吗?
更新: 如果我将其更改为有趣
<% #h @stories.inspect %>
Run Code Online (Sandbox Code Playgroud)
然后它会编译好...所以结果标签<%=%>的显示似乎不喜欢评论.
可以认为<%= as表示"将此表达式的值添加到输出流".没有表达?语法错误.
考虑
output << @stories.inspect
Run Code Online (Sandbox Code Playgroud)
VS
output <<
Run Code Online (Sandbox Code Playgroud)
追踪erb源中如何真正处理<%=可能是有益的.当我开始使用Rails时,我发现它值得付出努力.