Как отображать фотографии по рейтингу с помощью Ruby on Rails framework? - PullRequest
1 голос
/ 29 ноября 2009

Хорошо. У меня есть модель Изображение

class Picture < ActiveRecord::Base
  has_one  :rating
  has_many :comments
end

И, конечно же, рейтинг модели

class Rating < ActiveRecord::Base
  belongs_to :picture
end

Я сам создал систему рейтингов. Итак, теперь на главной странице мне нужно отобразить все фотографии по рейтингу. Пожалуйста, вы можете показать мне, как это сделать. Я понятия не имею, что будет в index.html.erb основного контроллера.

1 Ответ

1 голос
/ 29 ноября 2009

Если у рейтинга есть целое поле «значение», вы можете сделать это:

class Picture < ActiveRecord::Base
  has_one  :rating

  named_scope :by_rating, { :joins => :rating, :order => 'ratings.value DESC' }
end

Теперь в контроллере вы можете использовать это:

@pictures_top10 = Picture.by_rating.all :limit => 10

По виду:

<% @pictures_top10.each do |picture| %>
  <%= image_tag(picture.url) %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...