这段代码的语法错误可能是什么?
<%= if @post.comments != nil %>
<div id="comments">
<%= render(:partial => "comments/comments", :object => @post_comments) %>
</div>
<%= end %>
它继续告诉我这个:
expecting keyword_then or ';' or '\n' ...nd=( if @post.comments != nil );@output_buffer.safe_append=' ...
syntax error, unexpected keyword_end ';@output_buffer.append=( end );@output_buffer.safe_append='
syntax error, unexpected keyword_end, expecting ')' end ^
syntax error, unexpected keyword_ensure, expecting ')'
syntax error, unexpected keyword_end, expecting ')'
每当我删除上面的代码块时,代码都没有错误,所以我确定错误是在这部分。有什么建议吗?
答案 0 :(得分:4)
<%= if @post.comments != nil %>
...
<%= end %>
应该使用<%
标记而不是<%=
,因为它们是控制语句,而不是输出:
<% if @post.comments != nil %>
...
<% end %>
您可以在此处找到有关在ERB中使用这些标记的更多信息:http://guides.rubyonrails.org/action_view_overview.html#templates