2016-07-21 11 views
0

編集するデータの形式を含むテーブルを作成しようとしています。しかし、私は、次のエラーが発生します:form_forでエラー、eachとfields_forを組み合わせた

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' 

お勧めはありますか?

答えて

1

%tr.medium、以下のコードはそうようタブされるべきである:

= fields_for "campaign[]", campaign do |campaign_fields| 
    %tr.medium 
    %td= link_to campaign.name 

HAMLは、Pythonと類似している、ので、それはそのタブ移動レベルに応じてコード・ブロック「レベル」を決定します。

+0

私はばかです。私に思い出させてくれてありがとう! – EamonnMcElroy

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' 

コピー、厳密にインデント必要な言語であり、一度試してみてください。

+0

ありがとうございます。ウズベキョンが最初にそこに入りました。とにかくありがとう。 – EamonnMcElroy

+0

np、良い一日を – Sravan

関連する問題