ruby-on-rails – Haml – 非法嵌套:在纯文本内嵌套是非法的

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Haml – 非法嵌套:在纯文本内嵌套是非法的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的代码中遇到一个奇怪的错误,而使用HAML,我的代码在我的本地机器上工作,但是当我部署它时,我收到以下错误

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

我的代码看起来像这样

%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的新手

解决方法

>如果您希望您的链接位于%td内,那么它们应该是1张标签(td – 0标签,链接 – 左侧的1个选项卡)
>您应该使用相同的方法来创建缩进(例如,总是使用tab的空格).
看起来好像这个代码中没有问题.是初级还是其他代码的一部分?

因为“非法嵌套”通常发生在你这样做时:

%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',:confirm => 'Are you sure you want to delete')
    - else
        = link_to('Restore',restore_admin_clients_account_path(client))

猜你在找的Ruby相关文章