语法错误,意外的kDO_BLOCK,意外的kENSURE,期待$ end

时间:2011-08-17 04:13:35

标签: ruby-on-rails-3 paperclip

我在这里遇到两个错误,我不知道如何处理。当下一页要加载时,我得到2个错误(它根本没有加载,只是在我尝试访问它时向我显示了2个错误。)

错误1:/home/<...>/profile_pic.html.erb:7:语法错误,意外kDO_BLOCK ... ofile_pics,ProfilePic.new,do | builder | @ output_buffer.safe ...

错误2:/home/<...>/profile_pic.html.erb:16:语法错误,意外的kENSURE,期待$ end

以下是导致我们出现问题的代码:     &lt;%= render:partial =&gt; 'layouts / head_loggedin'%&gt;

<div id="main" style="float: left;">
  <% render :partial => 'layouts/head_settings' %>
  <h1>Change your profile picture</h1>
  <%= form_for(:update_profile_pic, :url => {:controller => 'setting', :action => 'update_profile_pic'}, :html => {:multipart => true}) do |f|%>
  <%= f.fields_for :profile_pics, ProfilePic.new, do |builder| %>
  <%= builder.file_field :image %>
  <% end %>
  <div>
    <%= submit_tag "Upload" %>
  </div>
  <% end %>
</div>

我们使用相同的do | builder |的另一个页面语法提供与此页面相同的意外kDO_BLOCK错误。

我们正在使用回形针上传图片。在我朋友的笔记本电脑上然而这个问题似乎根本没有发生。我们都在运行ubuntu,我们的gemfiles是相同的...而且这里的踢球者,我们都检查了来自同一个仓库的代码!

1 个答案:

答案 0 :(得分:2)

你有一个迷路逗号:

<%= f.fields_for :profile_pics, ProfilePic.new, do |builder| %>
                                              ^-- right here

Ruby解析器正在寻找f.fields_for的另一个参数,但它会看到一个块而感到沮丧,因此出现“意外的kDO_BLOCK”错误。

第二个错误:

/home/<...>/profile_pic.html.erb:16: syntax error, unexpected kENSURE, expecting $end

可能是第一个的副作用,但由于你发布的ERB中没有第16行,我无法确定。