Suprima "base" en el texto de error para la validación personalizada de los atributos anidados de Rails
Tengo los siguientes modelos:
class Evaluation < ActiveRecord::Base
attr_accessible :product_id, :description, :evaluation_institutions_attributes
has_many :evaluation_institutions, :dependent => :destroy
accepts_nested_attributes_for :evaluation_institutions, :reject_if => lambda { |a| a[:token].blank? }, :allow_destroy => true
validate :requires_at_least_one_institution
private
def requires_at_least_one_institution
if evaluation_institution_ids.nil? || evaluation_institution_ids.length == 0
errors.add_to_base("Please select at least one institution")
end
end
end
class EvaluationInstitution < ActiveRecord::Base
attr_accessible :evaluation_institution_departments_attributes, :institution_id
belongs_to :evaluation
has_many :evaluation_institution_departments, :dependent => :destroy
accepts_nested_attributes_for :evaluation_institution_departments, :reject_if => lambda { |a| a[:department_id].blank? }, :allow_destroy => true
validate :requires_at_least_one_department
private
def requires_at_least_one_department
if evaluation_institution_departments.nil? || evaluation_institution_departments.length == 0
errors.add_to_base("Please select at least one department")
end
end
end
class EvaluationInstitutionDepartment < ActiveRecord::Base
belongs_to :evaluation_institution
belongs_to :department
end
Tengo un formulario para evaluación que incluye atributos anidados para EvaluationInstitution y EvaluationInstitutionDepartment, por lo que mi formulario está anidado en 3 niveles. El 3er nivel me está dando un problema.
Los errores se activan como se esperaba, pero cuando el error se activa para require_at_least_one_department, el texto lee
Base de instituciones de evaluación Seleccione al menos un departamento
El mensaje debería leer "Seleccione al menos un departamento".
¿Cómo elimino la "Base de instituciones de evaluación"?