2012-03-14 6 views
0

私は今、私のレールプロジェクトの最後に来ています。作成する前に電子メールでユーザーアカウントを確認する以外に、私は何とかしたいと思います。私はすでにユーザーに電子メールを送信していますが、ユーザーにはリンクが必要です。ほぼ完成したレールアプリケーションに確認を追加

ユーザーテーブルに確認済みのフィールドがあり、それをfalseに設定してユーザーの確認でtrueに設定していると聞いたことがありますが、これを実装する方法のアイデア。何か案は?

他の誰かがこのような機能を追加する方法を示すチュートリアルへの他の解決策やリンクを持っていれば、それは顕著になります。終わりはそれほど近づいていない。

答えて

1

念入りに追加するのは遅すぎることはありません。もし私があなただったら、私はまさにこれをやるだろう。

しかし、私は確認の機能を自分で実装した場合、これは私がこれについて移動する方法を示します。各ユーザーに対して

  1. 、(MD5ハッシュのように)ハッシュを作ります。いろいろな方法があります:1)各ユーザーがそれ自身を生成し、専用の表の列に格納します。 2)パスワードsalt、ユーザーID、および(オプションで)いくつかの静的な文字列から1つを作成します。 3)何か。

  2. 自分のIDとそのハッシュを含むリンクが記載されたメールをユーザーに送信します。

  3. 誰かがあなたの確認用URLにヒットしたときに、クエリ文字列からユーザーIDとハッシュを抽出し、あなたの持っているものと比較します。一致した場合は、確認済みのユーザーとしてマークします。

+0

乾杯セルジオは、その後、私が使用しているだけで、以前のハッシュが、私はそう、このようなことのない他の経験を持っていないレールのチュートリアルの外に集まっpassword_hashだった、あなたはこれをやって上の任意のチュートリアルを持っています。考案を追加することに関して。 t.confirmableをusersファイルに移行するだけですか? devise:ユーザーモデルのtoに確認可能?それは簡単ですか?私はすでにdevise initializier(デフォルトのもの)を持っています。 – user1222136

+0

私はDeviseをmysqlで使用しなかったので、どのような移行が必要かについてはわかりません。しかし、何もあなたの試練を止めません。私は、1時間の仕事、トップスだと言っています。 –

+0

あなたの提案に関して、このような機能を実装する方法を示すチュートリアルなどへのリンクはありますか? – user1222136

関連する問題