zone, species, color alphabetical by the current locale

We were joining to the translations table to sort records
alphabetically, but then it sorted by *all* of the translations in
some strange way. Now use with_translations to restrict the join
to the current locale.
This commit is contained in:
Emi Matchu 2013-01-27 00:25:52 -06:00
parent c2ae3da11c
commit eaf875c6c7
3 changed files with 3 additions and 3 deletions

View file

@ -1,7 +1,7 @@
class Color < ActiveRecord::Base
translates :name
scope :alphabetical, lambda { includes(:translations).order(Color::Translation.arel_table[:name]) }
scope :alphabetical, lambda { with_translations(I18n.locale).order(Color::Translation.arel_table[:name]) }
scope :basic, where(:basic => true)
scope :standard, where(:standard => true)
scope :nonstandard, where(:standard => false)

View file

@ -1,7 +1,7 @@
class Species < ActiveRecord::Base
translates :name
scope :alphabetical, lambda { includes(:translations).order(Species::Translation.arel_table[:name]) }
scope :alphabetical, lambda { with_translations(I18n.locale).order(Species::Translation.arel_table[:name]) }
def as_json(options={})
{:id => id, :name => human_name}

View file

@ -6,7 +6,7 @@ class Zone < ActiveRecord::Base
attr_writer :sometimes
scope :alphabetical, lambda {
includes_translations.order(Zone::Translation.arel_table[:label])
with_translations(I18n.locale).order(Zone::Translation.arel_table[:label])
}
scope :includes_translations, lambda { includes(:translations) }
scope :with_plain_label, lambda { |label|