Railsを勉強しているのですが、1vs1のところで質問がございます。>
class User < ApplicationRecord has_one :detail, dependent: :destroy class Detail < ApplicationRecord belongs_to :user
上の場合だと、Detailテーブルにおいて、user_idが外部キーとなっており、Userテーブルから該当するレコードを参照できるようになっていると認識しているのですが、Railsコンソール上でDetailのuser_idを1に指定して、saveしたらうまくレコードを登録できたのですが、もう一度Detailのオブジェクトを生成して、user_idを1に指定したら、saveできてしまいました。個人的にこの時,エラーがでて、保存はできないと考えていたのですが、user_idの指定がすであった場合、弾かれるようにするにはどのような実装が必要でしょか?
現状Detailの中でそれぞれuser_idを指定しているidの重複を無くしたいです。
#<ActiveRecord::Relation [#<Detail id: 1, user_id: 1, content: "hello", location: nil, created_at: "2019-11-25 04:15:29", updated_at: "2019-11-25 04:15:29">, #<Detail id: 2, user_id: 1, content: "This is a pen", location: nil, created_at: "2019-11-25 04:17:35", updated_at: "2019-11-25 04:17:35">]>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/25 04:35