2012-11-30 98 views
0

我有ActiveRecord集合,我想檢查它的ID。如何檢查包含的ID或不?

@items_user_id = Item.select("DISTINCT user_id").where(:user_id => current_user.id) 

和我檢查

@items_user_id.include?(params[:id]) 

返回nil

有什麼不對?

UPD 1:我需要 - param [:id]包含Item的id。用戶只能編輯它們創建的項目。我想檢查標識符池項目用戶中的項目標識符。

回答

0

總之:你在比較蘋果和橘子。

龍回答

@items_user_id = Item.select("DISTINCT user_id").where(:user_id => current_user.id)這條線將返回Item元素Array

params [:id]可能是StringInteger,所以它不會在數組中找到。 [:ID]

0

儘量收集從獲得的陣列的ID,然後檢查..

@items_user_id.map(&:id).include?(params[:id]) 

確保IDS的數據類型(字符串)使用參數匹配

0

選擇你做執行此查詢:

SELECT DISTINCT user_id FROM items WHERE user_id = ? 

這將產生任何內容,或只有user_id的單行。

你真的想要什麼?