Как я могу получить только пользователей с повышенным рейтингом?

#ruby-on-rails #ruby-on-rails-3 #ruby-on-rails-4

#ruby-on-rails #ruby-on-rails-3 #ruby-on-rails-4

Вопрос:

Я использую драгоценный камень под названием ‘acts_as_votable’ (https://github.com/ryanto/acts_as_votable) Теперь я пытаюсь получить определенные записи кодов.

  1. Код: принадлежит пользователю и сообществу
  2. Сообщество: has_many Codes
  3. Пользователь: has_many Codes

     #fetching all the communities that current_user voted up.
    @communities = current_user.get_up_voted(Community)
    
    #Now I'm trying to retrieve all users who belongs to any of '@communities'
    @users = @communities.???????(User)
    @codes = users.codes
      

Как я могу закодировать для извлечения кодов?

Ответ №1:

Вы можете выбрать нужные записи из таблицы users, когда вы выбрали весь код из желаемых сообществ. Попробуйте:

 @codes  = []
@communities.each do |community|
  @codes.concat(community.codes)
end
User.where(code: @codes).order(:active_at)
  

Смотрите также:
http://guides.rubyonrails.org/active_record_querying.html

Комментарии:

1. Спасибо за ответ. Не могли бы вы добавить заказ по ‘user.active_at’??