問題タブ [persisted-column]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails - 別のフォームに挿入された電子メール アドレスが現在有効になっているかどうかを確認して、ユーザーが永続化されているかどうかを確認します。
Rails 4 アプリに User と Invite というモデルがあります。
ユーザーが自分のプロジェクト チームに他のユーザーを招待できるようにします。
私のユーザー モデルには、:email という属性があります。
この目的のために招待モデルがあります。次の属性があります。
ユーザーが別の人をプロジェクトに参加するよう招待するとき、その人は上記の情報を収集するフォームに記入します。
次に、招待コントローラーで、入力されたメールアドレスが既にユーザーのアカウントに関連付けられているメールアドレスであるかどうかを確認しようとしています。
私の Invites Controller には、次のものがあります。
recipient_status_known メソッドは、新しい招待フォームに挿入された電子メールがユーザー テーブルのデータベース (電子メールとして保存) に既に存在するかどうかを確認する試みです。
既知の場合、作成アクションは既知のユーザー ID を招待テーブルの受信者 ID として割り当てる必要があります。
不明な場合は、招待された人に、アカウントを作成するよう招待するメールを送信したいと考えています。
ユーザーテーブルに新しい招待フォームで提供された電子メールアドレスがあるかどうかを確認するために、招待コントローラーでテストを修正するにはどうすればよいですか?
私の次の試みは、招待コントローラーを次のように更新することです。
終わり
招待テーブルに追加された電子メールアドレスが既存のユーザーメンバーと同じかどうかを確認する私の方法は次のとおりです。
これを保存して新しい招待フォームを送信しようとすると、エラーは発生しませんが、このコードの最後の行のリダイレクトでエラーが発生します。これは、一致する「受信者ステータスが既知」のアドレスとして電子メールが見つからないことを意味します。新しい招待フォームに入力している電子メール アドレスが、ユーザーのテーブルの電子メール アドレスと一致することはわかっています。
次に試すことができるアイデアはありますか?