ユーザーがフォームに情報を入力する必要があるアプリを開発しています。一部のフィールドには、空白でないことを確認するための基本的な検証があります。
ユーザー モデルには多くの user_entries があります
has_many :user_entries, dependent: :destroy
user_entry モデルは user に属します
belongs_to :user
user_entry モデルの検証で問題が発生します
validates :name, :address, :email, presence: true
外部キー user_id を user_entries テーブルに追加する前は、このコードは正常に機能していました。問題なくフォームに入力し、エントリをテーブルに追加できました。しかし、user_entries テーブル内の現在のユーザー ID を取得して、ユーザーのエントリを追跡できるようにする必要があります。
def create
@user_entry = UserEntry.new(params[:user_entry])
@user_entry.add_comp_connections_from_entered_competition(current_entered_competition)
@user = current_user
@user_entry = @user.user_entries.build
#--etc--#
検証を削除するとこれが可能になりますが、削除したくありません。外部キーを削除すると検証できるようです。しかし、私は両方が機能することを望んでいます。どんな助けでも大歓迎です、ありがとう