2011-08-28 58 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