Я пытаюсь показать фотографии профиля пользователя в oop твитах.
Мои модели
user.rb
has_many :tweets
tweet.rb
belongs_to :user, optional: true
Мое представление
<% @tweets.reverse.each do |tweet| %>
<strong><%= link_to tweet.user.email, thisuser_path(tweet.user_id) %></strong>
<br>
<%= tweets_index_avatar(@image_tweet) %>
....
<% end %>
Мой помощник
def tweets_index_avatar(image_tweet)
if user.avatar.attached?
image_tag user.avatar.variant(resize: "100x100!"), class: "rounded-circle"
else
image_tag 'default_avatar.jpg', height: 100, width: 100, class: "rounded-circle"
end
end
С этим (ожидаемым) ...
undefined local variable or method `user'
Я пробовал несколько комбинаций
def tweets_index_avatar(image_tweet)
if tweet.user.avatar.attached?
image_tag tweet.user.avatar.variant(resize: "100x100!"), class: "rounded-circle"
else
image_tag 'default_avatar.jpg', height: 100, width: 100, class: "rounded-circle"
end
end
Ошибка
undefined local variable or method `tweet' for
Или ...
def tweets_index_avatar(image_tweet)
if tweet.user_id.avatar.attached?
image_tag tweet.user_id.avatar.variant(resize: "100x100!"), class: "rounded-circle"
else
image_tag 'default_avatar.jpg', height: 100, width: 100, class: "rounded-circle"
end
end
Тот же результат
Мои аватары работают нормально вне моей итерации, но как мне заставить их работать внутри моей «каждой» итерации? ты