Haml -llegal nesting: вложение в обычный текст является незаконным - программирование
Подтвердить что ты не робот

Haml -llegal nesting: вложение в обычный текст является незаконным

Я столкнулся с странной ошибкой в ​​моем коде при использовании HAML, где мой код работает на моей локальной машине, но когда я его развертываю, я получаю следующую ошибку:

ActionView:: Template:: Error (Недопустимое вложение: вложенность в обычный текст запрещена.):

Мой код выглядит следующим образом

  %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))

Я новичок в HAML

4b9b3361

Ответ 1

  • Если вы хотите, чтобы ваши ссылки находились внутри% td, они должны быть 1 вкладкой Righter (вкладка td - 0, ссылки - 1 вкладка с левой стороны).
  • вы должны использовать тот же метод для создания отступов (например, всегда используйте вкладку instap пробелов).
  • похоже, что проблема не в этом коде. Является ли это partitial или частью какого-либо другого кода?

Поскольку "незаконное вложенность" обычно происходит, когда вы делаете это так:

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

Попробуйте этот код:

%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))