Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Can't co-exist with scope like where(:status => :ACTIVE) #171
After adding squeel into the project, all existing scope that has expressions like where(:status => :ACTIVE) failed, because it generates sql like:
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.
Btw: I am using Rails 3.1.1 and I leave symbol extension disabled.
This comment has been minimized.
This comment has been minimized.Show comment Hide comment
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.