2011-09-21 2 views
1

maiden_nameSongWriter을 모두 찾으려면 my_maiden_name과 같습니까? 레일 3 : 필드가 nil 일 가능성이있는 레코드를 찾는 방법은 무엇입니까?

참고 : my_maiden_name 내가 시도 nil

수 있습니다 :

SongWriter.where("maiden_name = ?", my_maiden_name) 

그것은 경우 my_maiden_name = nil를 제외하고 잘 작동합니다.

my_maiden_name = nil가 생성 된 쿼리 인 경우 :

SELECT `song_writers`.* FROM `song_writers` WHERE (maiden_name = NULL) 

보다는 : 내가 활성 기록 쿼리를 일반화 할 수있는 방법을

SELECT `song_writers`.* FROM `song_writers` WHERE maiden_name IS NULL 

이 경우 my_maiden_name = nil을 포함?

답변

5

해시 구문을 사용하십시오. ActiveRecord가 변환을 수행합니다. my_maiden_name 인 경우

SongWriter.where(:maiden_name => my_maiden_name) 

nilIS NULL를 사용합니다. 그렇지 않으면 =이 사용됩니다.

+0

정확히 내가 무엇을 찾고 있었습니까. 감사! –

관련 문제