我的index.html.erb文件中出现以下语法错误。我正在使用Ruby 2.1.2。和Sinatra 1.4.5。任何评论都表示赞赏。
syntax error, unexpected ')' @_out_buf = ''; @_out_buf.concat(( form_for(@user) do |f| ).to_s)
<%= form_for(@user) do |f| %>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="actions"><%= f.submit "Sign Up"%></div>
<% end %>
答案 0 :(得分:2)
在ERB模板中打开一个块,就像使用form_for
来电一样,您无法在此处使用<%=
标记。虽然这在Rails中是必需的,但这只是因为他们patch ERB以相当可怕的方式实现它。
如果你不使用Rails,你必须使用它:
<% form_for(@user) do |f| %>
<%# ... %>
<% end %>
最后,除非您使用外部库来实现此功能,否则请注意标准Sinatra中没有form_for
。