Account
ユーザー モデルのネストされた属性を受け入れるモデルがあります。アカウントhas_many users
。したがって、ユーザーはアカウントなしでは存在できません。私はこの検証を書きました:
# users.rb
validates :account_id, presence: true, numericality: { only_integer: true }
サインアップ時に、ユーザーはアカウント フォームとネストされたユーザー フォームに入力します。ただし、アカウントがまだ存在しないため、私のテストは次のエラーで失敗しています。
#<ActiveModel::Errors: ... @base=#<Account id: nil, title: "ACME Corp", subdomain: "acme1", created_at: nil, updated_at: nil>, @messages={:"users.account_id"=>["can't be blank"]}>
のネストされたフォームを介してユーザーが作成されていない限り、ユーザーの有効なアカウント ID が存在することを常に確認したいと考えていますAccounts#new
。つまり、Account
が同時に作成されている場合、この場合、ユーザーに提供するアカウント ID はまだ存在しません。
これを行う方法はありますか?
すべての新しいユーザーは current_account オブジェクト、a la を介して作成されるため、これは議論の余地があるかもしれませんcurrent_account.users.build
。しかし、私は確信したい。