如何将%a标签转换为link_to

时间:2019-06-04 14:36:21

标签: ruby-on-rails haml

我有一个具有简单通知系统的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

2 个答案:

答案 0 :(得分:0)

如果没有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

毫无意义

答案 1 :(得分:0)

= 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"}

应该可以使用此代码