【发布时间】:2015-04-17 03:05:19
【问题描述】:
对不起,如果标题不清楚,我不知道如何更好地表达它。
我有一个模型“Playlist”,它通过中间模型“PlaylistUser”拥有_many 和属于_另一个模型“User”。
假设我在给定播放列表 (@playlist) 和 @users = @playlist.users 的页面上。如何按与@playlist 共享的用户数量排序所有其他播放列表?
所以如果@playlist.users = ["joe","nick","bob"]、<playlist2>.users = ["nick","bob","tom"] 和<playlist 3>.users = ["bob","jim","rich"],playlist2 应该排在第一位,因为它与@playlist 共享 2 个用户,而 playlist3 仅共享 1 个用户。
我希望我已经把我想做的事情说得够清楚了,但如果需要进一步澄清,请告诉我。
协会:
class Playlist < ActiveRecord::Base
has_many :playlist_users
has_many :users, :through => :playlist_users
end
class PlaylistUser < ActiveRecord::Base
belongs_to :playlist
belongs_to :user
end
class User < ActiveRecord::Base
has_many :playlist_users
has_many :playlists, :through => :playlist_users
end
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4