2014-09-05 15 views
0

我有一組按用戶名排序的用戶。獲取循環集合中的後續對象

User.order(last_name: :asc) 

我想讓用戶超過另一個(存儲在變量中),並且如果集合中的最後一個獲取第一個。

比我所做的更好的解決方案嗎?

user # stored user object 
users = User.order(last_name: :asc) 
index = users.index {|item| item == user} 
succeeding = if user == users[index].last then users[index].first else users[index + 1] end 
+0

此代碼是否工作? – 2014-09-05 12:49:53

+0

你看到有什麼錯誤嗎? – Numbers 2014-09-05 12:51:21

+0

'user == users [index] .last'或'user == users.last' – 2014-09-05 12:54:00

回答

0
user # stored user object 
users = User.order(last_name: :asc) 

succeeding = users[users.find_index(user)+1]||users.first