2014-03-28 2 views
-1

여기 무슨 일이 일어나고 있습니까? 콘솔에서이이 반환nil 열 값으로 레코드 반환

User.find(2).documents.first.issue 
=> nil 

을하지만이를 반환

User.find(2).documents.where("issue = ?", nil) 
=> [] 

두 번째 명령은 첫 번째에있는 레코드를 검색하지 않나요?

답변

2

당신은 데이터베이스에 not null에 대한 nullis not null를 확인하기 위해 is null를 사용해야합니다 :

User.find(2).documents.where("issue is ?", nil) 
+0

맙소사. 고맙습니다. –

+4

다른 방법 :'(문제 : nil)'. 동등성을 확인하기 위해 키 값 쌍을 사용하는 습관을 갖도록하십시오. SQL 어댑터가 나머지를 처리합니다. – jvnill

관련 문제