Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Haml -Illegal nesting: nesting within plain text is illegal

I am facing a weird error in my code while using HAML where my code is working on my Local Machine but when I am deploying it I am getting the following error

ActionView::Template::Error (Illegal nesting: nesting within plain text is illegal.):

My code looks like this

  %td{ :style => 'width:10px' }
= link_to('Dashboard',   dashboard_admin_clients_account_path(client)) if client.is_member?
= link_to('Edit',   edit_admin_clients_account_path(client))
- if client.removed_at.nil?
  = link_to('Delete', admin_clients_account_path(client), :method => :delete, :confirm => 'Are you sure you want to delete')
- else
  = link_to('Restore', restore_admin_clients_account_path(client))

I am new to HAML

like image 900
Arihant Godha Avatar asked Nov 23 '12 06:11

Arihant Godha


1 Answers

  1. If you want your links to be inside the %td, they should be 1 tab righter (td - 0 tab, links - 1 tabs from the left side)
  2. you should use the same method to make indents (for example always use tab instad of spaces).
  3. it looks like the problem is not in this code. Is it partitial or part of some other code?

Because 'illegal nesting' usually happens when you do like this:

%td{ :style => 'width:10px' }
    justtext
      =link_to ....

Try this code:

%td{ :style => 'width:10px' }
    = link_to('Dashboard',   dashboard_admin_clients_account_path(client)) if client.is_member?
    = link_to('Edit',   edit_admin_clients_account_path(client))
    - if client.removed_at.nil?
        = link_to('Delete', admin_clients_account_path(client), :method => :delete, :confirm => 'Are you sure you want to delete')
    - else
        = link_to('Restore', restore_admin_clients_account_path(client))
like image 186
vekozlov Avatar answered Nov 19 '22 08:11

vekozlov