Method: Iry::Macros#foreign_key_constraint
- Defined in:
- lib/iry/macros.rb
#foreign_key_constraint(key_or_keys, name: nil, message: :required, error_key: nil) ⇒ void
This method returns an undefined value.
Tracks foreign key constraint for the given key (or keys) and convert constraint errors into validation errors
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/iry/macros.rb', line 66 def foreign_key_constraint( key_or_keys, name: nil, message: :required, error_key: nil ) keys = Array(key_or_keys) name ||= Constraint::ForeignKey.infer_name(keys, table_name) error_key ||= keys.first if constraints.key?(name) raise ArgumentError, "Constraint already exists" end self.constraints = constraints.dup constraints[name] = Constraint::ForeignKey.new( keys, message: , name: name, error_key: error_key ) end |