ruby-on-rails - 编译错误,意外的 kENSURE,预计 Rails 3 项目中出现

有人可以告诉我我在这里做错了什么吗?当我尝试加载表单 (/posts/show) 时出现以下错误:

SyntaxError in Posts#show

Showing /Users/fkhalid2008/loand/app/views/posts/show.html.erb where line #10 raised:

compile error
/Users/fkhalid2008/loand/app/views/posts/show.html.erb:10: syntax error, unexpected kENSURE, expecting $end
Extracted source (around line #10):

7: </div>
8:   <button type="submit" class="btn span6 large">Submit</button>
9: <% end %>

以下是相关代码:

帖子/展示
<%= form_remote_tag( :update => 'message', :url => {:controller => 'main', :action => 'send_message', :user_id => @post.user.id }) %> 
<br>
<br />
<br />
<div class="field">
Hello! My name is <%= f.text_field :subject %> and I'm contacting you in response to your ad. I'm interested in learning more so get in touch! Here's my contact details: <%= f.text_field :body %>.
</div>
<button type="submit" class="btn span6 large">Submit</button>
<% end %>

最佳答案

您正在尝试使用 form_tag_remote有一个 block :

<%= form_remote_tag ... %>
    ...
<% end %>

但你漏掉了do启动 block 。你的 ERB 应该看起来更像这样:
<%= form_remote_tag(...) do %> 
    <!-- ----------------^^ -->
<% end %>

ERB 处理器本质上是把 ERB 源从里到外转换成一个 Ruby 代码块来执行;这个额外的步骤可能会导致一些非常奇怪的错误,这些错误很难追踪。从 ERB 到 Ruby 的转换的一部分涉及一些异常处理,因此看起来令人困惑和奇怪
unexpected kENSURE, expecting $end

在错误消息中。

关于ruby-on-rails - 编译错误,意外的 kENSURE,预计 Rails 3 项目中出现 $end 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10271809/

相关文章:

android - Maven不会因引入的编译错误而失败

ant - 如何在不使用 IDE(Netbeans 等)的情况下使用外部库编译 java 文件?

iphone - 在编译应用程序时遇到这样的错误

c# - 为什么尝试在WPF/C#中注册所有事件时出现构建错误?

gcc - 使用arm-linux-gcc编译STLPort时发生未知错误

visual-c++ - 升级项目:operator '=' is ambiguous and 'i

database - 为Windows和Linux编译64位sqlite

scala - 为什么在 Scala 中压缩比 zip 快?

objective-c - 初始化程序元素不是编译时常量错误

visual-studio-2010 - MS VS 2010 srand()无法编译?