向表单添加类时出错

时间:2013-08-11 21:00:31

标签: ruby-on-rails forms

我遇到了一个我无法弄清楚的错误,因为它适用于另一种形式。我正在尝试向表单添加一个类 - 它看起来像这样:

<%= 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| %>

它可能很容易修复,但由于我是编程新手 - 我只是不明白;)

提前致谢!

3 个答案:

答案 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| %>

我从这个问题Multiple parameters for form_for()

那里得到了