我有一個用戶模型。每個用戶都有與其關聯的餐廳名稱。我有一個顯示所有用戶的視圖(index.html.erb)。Ruby:比較兩個數組的匹配,並按DESC順序排列結果
我想基礎上,CURRENT_USER和其他一些用戶有多少餐館有共同按降序排序該視圖中的用戶...(它相反!)
前。
用戶1(CURRENT_USER)一直以麥當勞,漢堡王,阿拜的
用戶2已經到了Ivar的
用戶3一直以麥當勞,漢堡王
當用戶1加載索引查看,用戶應該顯示的順序是:
用戶1(3/3餐館匹配)
用戶3(2/3餐館匹配)
用戶2(0/3餐館匹配)
我User.rb文件
def compare_restaurants
self.restaurants.collect
end
我users_controller.rb
def index
@users = User.all.sort_by {|el| (el.compare_resturants & current_user.compare_resturants).length }
end
@echoback感謝您的回覆,但是我得到了「不能轉換成陣列..」 – thedeepfield 2011-02-18 04:53:53