Невозможно преобразовать изображение в URL: to_model делегировано вложению, но вложение равно нулю - PullRequest
1 голос
/ 27 мая 2020

У меня проблема с active_storage, которую я не могу решить, возможно, некоторые из вас столкнулись с подобными проблемами и могут мне помочь:

  • У меня два разных Devise => Users (= плюсы) и Parents (= родители)

  • Каждый pro имеет one_attached :avatar

  • В доме родителей страницы, я могу получить доступ ко всем параметрам pros и отобразить их, кроме avatar

=> Я могу отобразить что-то вроде этого # <ActiveStorage :: Attached :: One: 0x00007fcf70e75918>, когда я передаю <% = @pro.avatar %>

=> Но с <% = image_tag @pro.avatar %> я получаю эту ошибку Unable to resolve the image to URL: to_model delegated to the attachment, but the attachment is nil, и Rails подтверждает, что вложения нет, но в pro_model и представлениях pros_controller я могу получить это вложение.

Кто-нибудь знает, почему, и может найти решение, которое могло бы мне помочь? Спасибо за вашу помощь!

pros_controller:
def pro_params params.require(:pro).permit( :avatar, et c ..

Pro_model: has_one_attached :avatar

Parents_controller:

def home
  @pros = Pro.all
end

Мой код находится в другом контроллере и выглядит следующим образом:

<% ip_pro_eajes = @pros.where.not(pro_type: "Assistante Maternelle").geocoded.near("Paris")%>
    <% Pro.first.avatar %>
    <% ip_pro_eajes[0..2].each do |pro_near| %>
      <li class="pro-nearby" id="aeje-nearby">
        <%= image_tag url_for(pro_near.avatar.attachment) %>
         <%= pro_near.avatar.attached? %>
         <p style="color: #6EBEB4; font-size: 12px; font-weight: 400"><%= pro_near.pro_type.upcase %></p>
        <p style="font-size: 19px; font-weight: 400"><%= pro_near.company_name %></p>
        <p style="font-size: 16px; font-weight: 400"><%= pro_near.address %></p>
      </li>
   <% end %>

Я использовал pro_near в итерации, чтобы получить все параметры @pro, но только :avatar недоступен Когда я пытаюсь <% Pro.first.avatar %>, вложение тоже отсутствует

Ответы [ 2 ]

0 голосов
/ 27 мая 2020
<%= image_tag(@pro.avatar) if @pro.avatar.attached?%> 

см. это

0 голосов
/ 27 мая 2020

Не могли бы вы дать результат метода проверки на @pro?

Попробуйте отформатировать свой вопрос примерно так: Не удается преобразовать изображение в URL: to_model делегировано вложению, но вложение отсутствует

...