mysql - How to validate uniqueness of field based on another table -
i want validate roll_no
field in students
model based on student_section
model field section
,
student_section.rb
class studentsection < activerecord::base validates :standard_id, :presence=> {:message=>" cannot blank"} validates :section_id, :presence=> {:message=>" cannot blank"} validates :student_id, :presence=> {:message=>" cannot blank"} end
i add validation in student.rb as
class student < activerecord::base validates :student_id, :presence=> true validates :student_name, :presence=> true validates_format_of :email, :with => /\a([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i validates :phone, :length=>{:in => 8..15} validates :admission_no, :uniqueness=> { scope: :org_id} validates :roll_no, :uniqueness=> { scope: @student_section.section_id} end
but throws unknown field section_id
first, should make relationship between student
, studentsection
. if understand correctly, may create one-to-many
relation. after validation should work fine. however, if search more complex validation logic - may use validates_with
statement (validates_with @ apidock.com)
Comments
Post a Comment