帖子中的语法错误#new - 意外的旅程

时间:2013-08-31 17:24:27

标签: ruby-on-rails ruby

为什么我觉得有人在我mousepoint_jumps之下? 这是错误: 加载页面时SyntaxError in Posts#new

C:/Sites/blog/app/views/posts/_form.html.erb:2: syntax error, unexpected ')', expecting keyword_then or ';' or '\n'
...ppend= ( if @post.errors.any? );@output_buffer.safe_concat('
...                               ^
C:/Sites/blog/app/views/posts/_form.html.erb:12: syntax error, unexpected keyword_end, expecting ')'
');  end 
        ^
C:/Sites/blog/app/views/posts/_form.html.erb:26: syntax error, unexpected keyword_end, expecting ')'
'); end ;@output_buffer.to_s
       ^
C:/Sites/blog/app/views/posts/_form.html.erb:27: syntax error, unexpected keyword_ensure, expecting ')'
C:/Sites/blog/app/views/posts/_form.html.erb:29: syntax error, unexpected keyword_end, expecting ')'

提取的来源(第2行):

1: <%= form_for @post do |f| %>
2:  <%= if @post.errors.any? %>
3:  <div id="errorExplanation">
4:      <h2><%= pluralize(@post.errors.count, "error") %> prohibited
5:          this post from beign saved:</h2>

这是文件:

<%= form_for @post do |f| %>
    <%= if @post.errors.any? %>
    <div id="errorExplanation">
        <h2><%= pluralize(@post.errors.count, "error") %> prohibited
            this post from beign saved:</h2>
        <ul>
        <%= @post.errors.full_messages.each do |msg| %>
            <li><%= msg %></li>
        <% end %>
        </ul>
    </div>
    <% end %>
    <p>
        <%= f.label :title %><br>
        <%= f.text_field :title %>
    </p>

    <p>
        <%= f.label :text %><br>
        <%= f.text_area :text %>
    </p>

    <p>
        <%= f.submit %>
    </p>
<% end %>

我正在努力深入研究这个ruby教程,但有些东西落后了 好错误。我喜欢错误,是真的。但这太过分了! 我可以在这里得到任何错误的证据。

1 个答案:

答案 0 :(得分:2)

应该是以下内容(通知<%=已被<%替换)

<% if @post.errors.any? %>

同样的事情

<% @post.errors.full_messages.each do |msg| %>

有关详细信息,请参阅this question on ERB syntax。基本上<%=用于在页面中插入动态内容; <%用于控制语句(条件,循环等)。