Fix Postgres problem with PlantParts#crops

Postgres complains if the ORDER BY clause of a SELECT DISTINCT query is
not precisely one of the SELECTed fields. The default sort order on
crops is lower(name), and Postgres is not smart enough to notice that it
can calculate this from fields which are selected. The solution is to
override PlantParts#crops to remove the ORDER BY clause, and replace it
with `ORDER BY name`. This is not perfect, because it means the crops
associated to plant parts will not be sorted in the same order as crops
on the rest of the site.
This commit is contained in:
Miles Gould
2013-12-03 12:56:57 +00:00
parent c575638962
commit 2a260abf05

View File

@@ -11,4 +11,8 @@ class PlantPart < ActiveRecord::Base
return name
end
def crops
return super.reorder('name')
end
end