【问题标题】:if else rails syntax error, unexpected ';', expecting ':'if else rails 语法错误,意外 ';',期待 ':'
【发布时间】:2016-05-02 14:34:04
【问题描述】:

我有这个代码:

<% if @lead? -%>
    <h3>Current status of your car is <%= @lead.status %> </h3>
    <%=image_tag("stat/" + @lead.status + ".jpg", :class => "status_image", alt: "status")%>
<% else -%>
    <h3> No records found.</h3>
<% end -%>

我想要做的是检查我的@lead 是否存在并显示铅和一些图片,或者说在 db 中找不到这样的记录。但它给了我一个错误:

/home/jonstark/rails_projects/car_main/app/views/static_pages/check_lead_car_status.html.erb:4: 语法错误,意外的 ';',期待 ':' ...您的当前状态 汽车是';@output_buffer.append=(@lead...

如果我拿走 if else 并留下这个:

<h3>Current status of your car is <%= @lead.status %> </h3><br/><br/>
        <%=image_tag("stat/" + @lead.status + ".jpg", :class => "status_image", alt: "status")%>

错误消失。 我该如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-3.2


    【解决方案1】:

    就用这个吧:

    <% if @lead %>
        <h3>Current status of your car is <%= @lead.status %> </h3>
        <%=image_tag("stat/" + @lead.status + ".jpg", :class => "status_image", alt: "status")%>
    <% else %>
        <h3> No records found.</h3>
    <% end %>
    

    这应该可以解决您的问题。

    【讨论】:

    • 是的,我没有立即接受它,因为我在接受之前有 7 分钟的延迟=)