Class: AbAdmin::Concerns::Validations::UniqTranslationValidator
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- AbAdmin::Concerns::Validations::UniqTranslationValidator
- Defined in:
- lib/ab_admin/concerns/validations.rb
Instance Method Summary collapse
Instance Method Details
#validate_each(record, attribute, value) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/ab_admin/concerns/validations.rb', line 5 def validate_each(record, attribute, value) ::I18n.available_locales.each do |l| next if record.read_attribute(attribute, locale: l).blank? records_scope = record.class.const_get(:Translation).where("#{record.class.model_name.singular}_id != #{record.id || 0}") same = records_scope.where(name: record.read_attribute(attribute, locale: l), locale: l.to_s).exists? record.errors.add("#{attribute}_#{l}", :taken) if same end end |