Pracuję nad aplikacją Rails i używam aktywnego administratora z Carrierwave. Chcę załadować obraz do CSS, więc spróbowałem tego

<% @headCarousel.each do |carousel| %>
    <li style="background-image: url('<%= image_tag carousel.image.url %>');">
<%end%>

Chcę umieścić na tej liście obraz zapisany w załadowanym przez ActiveAdmin. Jak mam to zrobić, proszę?

1
Albert Conrad 1 listopad 2018, 16:41

1 odpowiedź

Najlepsza odpowiedź

Nie potrzebujesz tagu image_tag, ponieważ zwraca on tag obrazu HTML:

image_tag("icon.png")
# => <img alt="Icon" src="/assets/icon.png" />

Obraz tła potrzebuje tylko adresu URL:

<% @headCarousel.each do |carousel| %>
  <li style="background-image: url('<%= carousel.image.url %>');">
<%end%>

Jeśli to nie pomogło, sprawdź, jaki adres URL otrzymujesz w carousel.image.url:

<% @headCarousel.each do |carousel| %>
  <li><%= carousel.image.url %></li>
<%end%>
1
Viacheslav Soldatov 1 listopad 2018, 17:12