2016-09-24 9 views
0

У меня есть студент, получивший модель В таблице ученика я храню имя студента, номер телефона также я сохранил другой класс идентификатора модели. Мне нужно проверить, что для создания записи студента все эти 3 значения уникальны для создания нового запись.Проверка в рельсах 2

Пожалуйста, помогите мне в проверке этого в рельсах 2. Также я попробовал следующую проверку, проверив только два значения batch_id и student_name. Наряду с этим я также должен подтвердить номер телефона

class Student < ActiveRecord::Base> 
    validates_uniqueness_of :first_name, :scope => [:phone1, :batch_id] 
end 
+0

Я сожалею, что был вопрос? Пожалуйста, отредактируйте свой пост, чтобы было ясно, что вы просите. –

+0

Мне нужно, если одинаковые данные совпадают в 3 столбцах одной таблицы с одинаковым идентификатором в таблицах, должны дать ошибку –

+1

спасибо за вопрос, я получил решение по моему вопросу –

ответ

0

В модели я использовал следующий код для проверки

module StudentModel                     validate :is_valid_true                         private 
def is_valid_true 
    @batch = Batch.find(self.batch_id) 
    @batch.students.each do |s| 
    if ((s.full_name==self.full_name)&&(s.phone2==self.phone2)) 
     errors.add_to_base("Student with same Name and Mobile number is already Present in the Batch") 
     break 
    end 
    end 
end                               end 
end 
+0

Когда я использовал это для проверки, я получаю еще одну ошибку при редактировании формы студента, что дает ту же ошибку для тот же самый ученик, если у нас есть только одна информация с теми же записями, которую можно дать для этого решения. –