0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rails】アソシエーションでnilを許可する

Last updated at Posted at 2021-09-08

はじめに

SNSサイトを作成中、投稿にキャンプサイト(未入力or1件まで)を紐付けようと思い、以下の通りにしたところ、
キャンプサイトが未入力時に、バリデーションで弾かれ、投稿ができなかっため、対処法を残しておきます。

前提

Postモデル

  • user_id
  • image_id
  • camp_site_id(FK)
  • body

CampSiteモデル

  • site_name

やりたいこと

キャンプサイトの登録は任意で、Postを投稿したい

#やったこと

camp_site.rb
has_many :posts
post.rb
belongs_to :camp_site, optional: true

"optional: true" がなかったために投稿時のcamp_site_idのnilが許可されず
エラーが表示されていました。

belongs_toが成り立たなくなるため、通常では、nilは許可されないそうです。
そのため、"optional: true"を記載してあげて、nilを許可する必要があります。

終わりに

深く理解していなかったために、初歩的な段階でつまづいてしまいました。
1から復習すること、些細なことでも調べ直すことが大切だと痛感しました。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?