It was confirmed that DataMapper is incorrectly setting table names in SQL JOINs.
So for instance, the following code would generate an SQL error:
type.jobs.all(:"country.name".like => "%#{params[:location]}%")
There is a workaround, however the workaround requires manual looping of the dataset thus produces N+1 queries.
type.jobs.all.reject do |job|
! job.country.name.downcase.include?(params[:location].downcase)
end
But at least it works. ;)
Enjoy what you are reading? Sign up for a better experience on Persumi.