Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Can't co-exist with scope like where(:status => :ACTIVE) #171

zhangxue opened this Issue · 3 comments

4 participants


After adding squeel into the project, all existing scope that has expressions like where(:status => :ACTIVE) failed, because it generates sql like:
SELECT people.* FROM people WHERE people.status = people.ACTIVE

Of course changing :ACTIVE into string will solve the problem, but I am a little worried about needing to double check all existing scope. And the conflict with standard rails usage also make me hesitate to use squeel, since someone new may break it easily.

Any ideas/suggestions?

Btw: I am using Rails 3.1.1 and I leave symbol extension disabled.


Having looked over older issues, we concluded that you can't use symbols for the RHS of where clauses (see plenty of other links, included that linked above).

We were still surprised that the order block required strings only as well - given it's normally columns, which are allowed on the LHS of where clauses. But certainly changing them to strings fixes up the code for us, so we accept it given the goodness Squeel brings otherwise.

But yeah, Squeel is an API breaker, albeit a breaker of a poorly defined API ! And from the end of the link posted above, it seems those in control of the Active Record API approve, so it's a "safe" breakage I guess.

@ernie ernie closed this

How can I not seeing this after 10 mins of search in the closed issues list! Thanks @Nami-Doc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.