0
使用devise,rails 3.2。我想弄清楚如何創建一個ID數組,然後檢查current_user的ID是否包含在這個數組中。在Ruby中創建數組並搜索通過
我的用戶通過location_users有許多地點。 (地點必須通過相同的關係,許多用戶。)
我可以與位置相關聯user_ids的名單沒有問題:
@location.users.each do |u|
puts u.id
不過,我想我需要輸出的ID到一個數組,檢查與這樣的事情:
- [user_ids].include? current_user.id
我該如何去實現這一目標?
剛剛嘗試了以下工作正常,但似乎有點ott ... @ location.users.map(&:id).flatten.uniq.include?(current_user.id) – simonmorley 2012-08-01 00:00:15
而不是'@ location.users。 map(&:id)',嘗試'@ location.users.pluck(:id)',這樣你就不會創建不必要的對象。 'pluck'將只會自動從數據庫中選擇ID作爲獎勵。 – x1a4 2012-08-01 00:01:41