Как конвертировать% тег в link_to - PullRequest
0 голосов
/ 04 июня 2019

У меня есть приложение 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 голосов
/ 04 июня 2019
= 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"}

С этим кодом все будет в порядке

0 голосов
/ 04 июня 2019

Когда нет 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

...