2011-08-28 60 views
0

我想找到多個條件的記錄,這是我的代碼:的Rails 3.1:「在那裏」有多個條件,「不是零」驗證

@calhappybd = Client.where(:user_id => current_user.id, "birth IS NOT NULL") 

我試圖用squeel創業板要做到這一點,但是當我嘗試使用多個條件(其中{(cond1)(cond2)}),但是我的current_user.id被定義爲簡單的字符串數據。

+1

你說的簡單的字符串數據意味着什麼? –

+0

我的意思是試圖在表中找到「current_user.id」記錄:) –

+0

SQLite3 :: SQLException:no such column:current_user.id:SELECT「clients」。* FROM「clients」WHERE「clients」。「user_id」 =「current_user」。「id」 –

回答

3

隨着squeel,你應該能夠做到像

@calhappybd = Client.where{(user_id == current_user.id) & (birth != nil)} 

我們知道,如果你再次得到同樣的錯誤...

更新:

修改上述條件。請注意單連字符和雙等號。這對我的作品..

我的配置:

rails 3.1.0.rc6 
squeel 0.8.8 
+0

謝謝,但不能工作:(它必須是&&(而不是單一&)與Client.where {(user_id = current_user.id)&&(birth!= nil)}我已經得到我的所有客戶:←[1m←[36m客戶端負載(0.0ms)←[0m←[1mSELECT「clients」。* FROM「clients」←[0m =>所有客戶名單..... –

+1

我有一個解決方案:@calhappybd = Client.where(:user_id => current_user.id,:birth => Date.today-666.year..Date.today)。它適用於我,但它不是主題問題的答案:) –

+0

更新了答案。你可以再試一次 – dexter