我遇到了一个我无法弄清楚的错误,因为它适用于另一种形式。我正在尝试向表单添加一个类 - 它看起来像这样:
<%= form_for([@post, @post.comments.build]), html: {class: 'form-horizontal'} do |f| %>
但这会引发错误:
syntax error, unexpected tLABEL ..., @post.comments.build]), html: {class: 'form-horizontal'} d...
syntax error, unexpected keyword_do_block, expecting keyword_end
如果我删除html:...表单有效(但看起来很糟糕)。
这个有用(出于某种原因):
<%= form_for @post, html: {class: 'form-horizontal'} do |f| %>
它可能很容易修复,但由于我是编程新手 - 我只是不明白;)
提前致谢!
答案 0 :(得分:1)
您收到此错误的原因是因为您在)
帮助程序的错误位置有右括号form_for
。
请尝试:
<%= form_for([@post, @post.comments.build], html: {class: 'form-horizontal'}) do |f| %>
另一种选择是在form_for
之后添加一个空格,以便([@post, @post.comments.build])
和html: {class: 'form-horizontal'}
成为form_for
的参数
<%= form_for ([@post, @post.comments.build]), html: {class: 'form-horizontal'} do |f| %>
答案 1 :(得分:0)
我认为你需要在html哈希之前包含选项哈希值(即使它是空的):
<%= form_for([@post, @post.comments.build]), {}, {class: 'form-horizontal'} do |f| %>
答案 2 :(得分:0)
我认为你真的很亲密,但我认为这可能有用:
<%= form_for([@post, @comments]), :html => {class: 'form-horizontal'} do |f| %>
那里得到了