我正在尝试创建一个包含要编辑的数据形式的表。但是,我收到以下错误:
syntax error, unexpected ')' at line 73
第73行是%tr.medium
。我知道这不是问题的所在,我认为它是fields_for
行,但我不确定为什么这会导致问题,因为我在网上以类似的例子为基础。
= form_for :campaign do
- @campaigns.each do |campaign|
= fields_for "campaign[]", campaign do |campaign_fields|
%tr.medium
%td= link_to campaign.name
%td= campaign.status
%td
-if ["New", "Updated"].include? campaign.status
= campaign_fields.check_box :status, {id: "#{campaign.id}", :class => "approvedservices"}, "Approved", ""
%td{:style => "width:100px;"}
-unless ["Rejected", "Approved"].include? campaign.status
= campaign_fields.check_box :status, {id: "reject#{campaign.id}", :class => "rejectedservices"}, "Rejected", ""
%td.notes{:style => "display: none"}
= campaign_fields.text_field :notes, class: 'form-control mandatory', type: "input"
%tr.medium
%td.white{:colspan => 8}
%td.white{:style => "width:100px;"}
= campaign_fields.submit "Approve", :name => 'Commit'
%td.white{:style => "width:100px;"}
= campaign_fields.submit "Reject", :name => 'Reject'
有什么建议吗?
答案 0 :(得分:1)
%tr.medium
并且后面的代码应该是这样的标签:
= fields_for "campaign[]", campaign do |campaign_fields|
%tr.medium
%td= link_to campaign.name
因为,HAML与Python类似,它根据其标签级别决定代码块“级别”。
答案 1 :(得分:1)
HAML严格来说是缩进所需的语言,所以当你错过缩进时就会出现错误,
= form_for :campaign do
- @campaigns.each do |campaign|
= fields_for "campaign[]", campaign do |campaign_fields|
%tr.medium
%td= link_to campaign.name
%td= campaign.status
%td
-if ["New", "Updated"].include? campaign.status
= campaign_fields.check_box :status, {id: "#{campaign.id}", :class => "approvedservices"}, "Approved", ""
%td{:style => "width:100px;"}
-unless ["Rejected", "Approved"].include? campaign.status
= campaign_fields.check_box :status, {id: "reject#{campaign.id}", :class => "rejectedservices"}, "Rejected", ""
%td.notes{:style => "display: none"}
= campaign_fields.text_field :notes, class: 'form-control mandatory', type: "input"
%tr.medium
%td.white{:colspan => 8}
%td.white{:style => "width:100px;"}
= campaign_fields.submit "Approve", :name => 'Commit'
%td.white{:style => "width:100px;"}
= campaign_fields.submit "Reject", :name => 'Reject'
复制此缩进代码并尝试一次。