Использование рельсам 3 стиля как бы я написать противоположное:Rails, где условие с использованием NOT NULL
Foo.includes(:bar).where(:bars=>{:id=>nil})
Я хочу, чтобы найти, где идентификатор не является нулевым. Я пробовал:
Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql
Но что возвращает:
=> "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)"
Это определенно не то, что мне нужно, и почти кажется, что ошибка в AREL.
'! Nil' оценивает' true' в Ruby, а ARel переводит 'true' в' 1' в SQL-запрос. Таким образом, сгенерированный запрос - это то, о чем вы просили, - это не ошибка AREL. – yuval