haml中的语法错误

时间:2012-08-14 12:04:29

标签: ruby-on-rails-3 haml

我收到以下haml的语法错误

= javascript_include_tag :reports 
= stylesheet_link_tag    :form
= stylesheet_link_tag    :tab

.tabcontainer
  %ul.tabs
    %li#reports
      Reports
  .tab
    .field

= form_for @report, {:html => {class => "form"}} do |f|
  .field
    = f.label :Property
b
%form{ :action => "/reports/find/employees", :method => "get"}
  %fieldset
    %ol
      %li
        %label{:for => "property"} Property:
        %input{:type => "text", :name => "query[1][property]" }
      %li
        %label{:for => "comp"} Comparator:
        %input{:type => "text", :name => "query[1][comp]" }
      %li
        %label{:for => "value"} Value:
        %input{:type => "text", :name => "query[1][value]"}
    %input{:type => "submit", :value => "Go" }

我得到的错误是:

index.html.haml:12: syntax error, unexpected tASSOC
haml_temp =  form_for @report, {:html => {class => "form"}} do |f|
                                                  ^
index.html.haml:12: syntax error, unexpected '}', expecting keyword_end
haml_temp =  form_for @report, {:html => {class => "form"}} do |f|
                                                          ^
index.html.haml:17: syntax error, unexpected keyword_ensure, expecting $end
Extracted source (around line #12):

9:   .tab
10:     .field
11: 
12: = form_for @report, {:html => {class => "form"}} do |f|
13:   .field
14:     = f.label :Property
15: b

导致此错误的原因是什么?

请帮助 谢谢。

2 个答案:

答案 0 :(得分:1)

你错过了:,应该是:

haml_temp =  form_for @report, {:html => {:class => "form"}} do |f|

答案 1 :(得分:0)

在表单标记处有'html=> {some code},您错过了:的“class