need flexible conditions hash with activerecord

    I am using find method of activerecord in my code. And I am
specifying conditions through hash like below,
conditions = {}
conditions[:deactivated_on] = !nil (conditions[:deactivated_on] = nil
- this works)
@accounts = Account.paginate :page=>params
[:page], :per_page=>20, :order=>"name", :conditions=>conditions

I want all accounts where deactivated_on != NULL. I could not make
this work with conditions hash. Its working with normal conditions
like ["deactivated_on is not null"]. But I am in need of use it with
hash conditions because of existing code.

With conditions hash no more conditions are allowed except '=' as far
I tried.

age = 18 - could be done with conditions hash
age <18,age >18 (other than '=') - could not be done with conditions

Can anyone have clear idea to explain me?


actually u can make range conditions… like

:conditions=>{:created_at => 17.days.ago…}


:conditions=>{:some_attribute=>[1,2,3,4,5,6,7]} which will be translated to “in (1,2,3,4,5,6,7)”

i’m not sure about the “is not null” part though