我在这里遇到两个错误,我不知道如何处理。当下一页要加载时,我得到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是相同的...而且这里的踢球者,我们都检查了来自同一个仓库的代码!
答案 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行,我无法确定。