【问题标题】:How to convert %a tag to link_to如何将 %a 标签转换为 link_to
【发布时间】:2019-06-04 14:36:21
【问题描述】:

我有一个带有简单通知系统的 Rails 应用程序。许多人都是这个项目的一部分,遗憾的是我们没有遵守标准的编码约定。在某些情况下会发生一些奇怪的问题,我发现这些问题的发生是因为它们与使用 %a 而不是 link_to 相关联。

然后我开始了将每个 %a 更改为 link_to 的旅程,并且已经转换了简单的东西,然后这让我大吃一惊:

.dropdown{"data-behavior" => "notifications"}
  %a.dropdown-toggle.nav-link{"aria-expanded" => "false", "aria-haspopup" => "true", "data-behavior" => "notifications-link", "data-toggle" => "dropdown", :type => "button"}
    %i.fa.fa-bell
    %span{"data-behavior" => "unread-count"}
  .dropdown-menu.dropdown-menu-right{"aria-labelledby" => "dropdownMenuButton", "data-behavior" => "notification-items"}

如何将其转换为 link_to

【问题讨论】:

    标签: ruby-on-rails ruby haml


    【解决方案1】:

    如果没有href - 你可以在那里传递nil

    = link_to nil, class: 'dropdown-toggle nav-link',
      type: :button,
      aria:{ expanded: false, haspopup: true},
      data: { behavior: "notifications-link",  toggle: :dropdown} do
      %i.fa.fa-bell
      - # and so on
    

    但对于实际上不是链接的地方 - 将其设为 link_to 没有多大意义

    【讨论】:

      【解决方案2】:
      = link_to nil, type: :button,
        class: 'dropdown-toggle nav-link',
        aria: { expanded: false, haspopup: true },
        data: { behavior: 'notifications-link', toggle: 'dropdown' } do
      
        %i.fa.fa-bell
        %span{"data-behavior" => "unread-count"}
      

      这段代码应该没问题

      【讨论】:

        猜你喜欢
        • 2014-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多