Гамл не рендерит элемент из рельсов модели - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь отобразить соответствующий элемент из моей модели «дорожки», который представляет собой строку в столбце под названием «жанр»

Однако вместо рендеринга жанра;вместо этого страница отображает =track.genre вместо фактического жанра.Это синтаксическая ошибка?

index.html.haml (для представлений> дорожки)

- content_for :header do
  %section.hero.is-warning
    .hero-body
      .container
        %h1.title
          Browse the newest Tracks
.instrument-index-grid.pt4
  - @tracks.each do |track|
    .track.border-light
      .track-thumb
        =link_to image_tag(track.image_url(:thumb)), track
        - if track.genre
          .condition
            %span.tag.is-dark = track.genre // this renders incorrectly
      .pa3
        %h3.fw7.f4.title= link_to track.name, track
        %p.has-text-gray.fg.pt1
          Sold by #{track.user.name}
        %p.f3.fw6.has-text-right.pt2.price= number_to_currency(track.price)
        - if track_artist(track)
          = link_to 'Edit', edit_track_path(track), class: "button is-small"
          = link_to 'Delete', track, method: :delete, data: { confirm: "Are you sure ?" }, class: "button is-small"

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Это просто опечатка.Вместо

%span.tag.is-dark = track.genre

это должно быть

%span.tag.is-dark= track.genre

См. Раздел "Оценка Ruby" в справочнике :

=может также использоваться в конце тега для вставки кода Ruby в этот тег

Если после тега есть дополнительный пробел, = больше не находится в конце тега, и онтаким образом интерпретируется как простой текст вместе с остальной частью строки.

0 голосов
/ 06 декабря 2018

Переместите его на отдельную строку и удалите пробел

.condition
   %span.tag.is-dark 
     =track.genre 
...