ihatov08 blog

プログラミング初心者だけどRailsとSwiftマスターします

RailsでAさんは同じ連絡先を登録できないが、AさんとBさんで同じ連絡先を登録できるバリデーションの設定方法

app/models/contact.rb

class Contact < ActiveRecord::Base
has_many phones

phoneモデルで同じcontact_idは持てないようにuniqunessな制約をつけると実現できる。

app/models/phone.rb

class Phone < ActiveRecord::Base
belongs_to :contact
validates :phone, uniquness: { scope: :contact_id }