Forum: Ruby on Rails need flexible conditions hash with activerecord

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Sadeesh V. (Guest)
on 2008-12-03 18:46
(Received via mailing list)
Hi,
    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.

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

Can anyone have clear idea to explain me?

Thanks,
Sadeesh.
Mahmoud Said (Guest)
on 2008-12-03 19:28
(Received via mailing list)
actually u can make range conditions... like

:conditions=>{:created_at => 17.days.ago..Time.now}

or

: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


On Wed, Dec 3, 2008 at 6:45 PM, sadeesh kumar viswanathan <
removed_email_address@domain.invalid> wrote:

> I want all accounts where deactivated_on != NULL.  I could not make
> hash.
>
> Can anyone have clear idea to explain me?
>
> Thanks,
> Sadeesh.
> >
>


--
Mahmoud Said
Software Developer
blog.modsaid.com
www.eSpace.com.eg
+20-16-1223857
This topic is locked and can not be replied to.