Using Squeel, in a rails app, I have a hash of conditions:
{'trans' => 'manual'}
which i eventually plan on moving into an array... so i can also have an operator assignment.
[[field,operator,value][field,operator,value]]
I want to use a Model method, which for now i omit the operator and am I just trying == to get this to work... however, what i have below does not work.
def self.with_conditions(conditions)
joins{car}.where do
conditions.map {|key,value| (key==value) }.inject(:&)
end
end
I also tried this:
def self.with_conditions(conditions)
joins{car}.where do
query = nil
conditions.each do |key, value|
q = (key == value)
if query
query &= q
else
query = q
end
end
query
end
end
So, how do i get this to work with the ==, and then how would i eventually get this to work with a dynamic operator as well? thanks
In console, my SQL doesn't read in any of my conditions... for example:
in console:
> Timeslip.with_conditions({'car.year'=>'1991'})
SELECT "timeslips".* FROM "timeslips" INNER JOIN "cars" ON "cars"."id" = "timeslips"."car_id"