Хорошо, я пытаюсь отобразить аватар пользователя. Приложение, которое я настроил, позволяет пользователям создавать вопросы и ответы (я называю «сайты» ответов в коде), представление, в котором я пытаюсь это сделать, находится в файле /views/questions/show.html.erb
. Также следует отметить, что я использую камень «Скрепка». Вот установка:
ассоциации
Users
class User < ActiveRecord::Base
has_many :questions, :dependent => :destroy
has_many :sites, :dependent => :destroy
has_many :notes, :dependent => :destroy
has_many :likes, :through => :sites , :dependent => :destroy
has_many :pics, :dependent => :destroy
has_many :likes, :dependent => :destroy
end
Вопросы
class Question < ActiveRecord::Base
has_many :sites, :dependent => :destroy
has_many :notes, :dependent => :destroy
has_many :likes, :dependent => :destroy
belongs_to :user
end
Ответы (сайты)
class Site < ActiveRecord::Base
belongs_to :question
belongs_to :user
has_many :notes, :dependent => :destroy
has_many :likes, :dependent => :destroy
has_attached_file :photo, :styles => { :small => "250x250>" }
end
Pics
class Pic < ActiveRecord::Base
has_attached_file :profile_pic, :styles => { :small => "100x100" }
belongs_to :user
end
/views/questions/show.html.erb
отображает часть /views/sites/_site.html.erb
, которая вызывает Ответ (сайт) с:
<% div_for site do %>
<%=h site.description %>
<% end %>
Я пытался сделать что-то вроде:
<%=image_tag site.user.pic.profile_pic.url(:small) %>
<%=image_tag site.user.profile_pic.url(:small) %>
и т.д.. Но это, очевидно, неправильно. Моя ошибка указывает на действие «Вопросы №», поэтому я представляю, что мне нужно что-то там определить, но не уверен, что именно. Можно ли вызывать изображение с учетом текущих ассоциаций, размещения вызова и, если да, какие дополнения к контроллеру мне нужно сделать, и какая строка кода будет вызывать изображение?
ОБНОВЛЕНИЕ: Вот код вопроса вопросов диспетчера #:
def show
@question = Question.find(params[:id])
@sites = @question.sites.all(:select => "sites.*, SUM(likes.like) as like_total",
:joins => "LEFT JOIN likes AS likes ON likes.site_id = sites.id",
:group => "sites.id",
:order => "like_total DESC")
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @question }
end
end