form_for上的HAML语法错误

时间:2013-09-13 00:05:44

标签: ruby-on-rails forms haml

我的field_for抛出语法错误我不知道为什么?我怎么想缩进呢?

Inconsistent indentation: "\t  " used for indentation, but the rest of the document was indented using 1 tab.

= form_for(:contacts, url: contacts_path) do |f|
  = f.error_messages
  = f.label :subject, "Name"
  %span{style: 'color: red'} *
  = f.text_field :subject, class: "text_field width_100_percent"
  %br
  %br    
  = f.label "Email"
  %span{style: 'color: red'} *
  %br    
  = f.email_field :email, class: "text_field width_100_percent"
  %br
  %br
  = f.label "Phone"
  %br    
  = f.fields_for :custom_field do |cust|
    = cust.text_field :phone_number_28445
  %br
  %br
  = f.label "Question(s), and/or feedback"
  %span{style: 'color: red'} *
  %br
  = f.text_area :description, class: "text_field width_100_percent", style: 'height: 100px;'
  %br
  %br
  = f.submit "Submit", class: 'btn btn-warning'

我知道它是我的field_for,因为只要我把它拿出来,表格就会再次出现

2 个答案:

答案 0 :(得分:1)

我之前已经处理过这个问题了。这可能是一种痛苦。如果您从另一个IDE复制并粘贴代码然后修改文件的一部分,通常会发生这种情况。

正如错误所说,你用缩略图缩进了那一行,加上两个空格,而文件的其余部分只是用标签缩进。当您输入选项卡而不是实际插入选项卡时,某些IDE将插入两个空格。检查编辑器的设置,或者替换其他行上的缩进,以便所有内容都缩进,每个选项卡都有2个空格。

答案 1 :(得分:1)

如果您在一个范围内定义任何字段,请使用一个标签 %span {style:'color:red'} *   = f.text_field:subject,class:“text_field width_100_percent” 我想它会有所帮助,并尝试使用任何ide格式化您的代码,因为它看起来像代码格式和缩进问题