restful_authenticationを導入して、ユーザー登録時のメール認証を可能にしましょう。

下記のコマンドで、restful authenticationのプラグインをインストールします。
ちなみに、ruby.1.2.6以上で実行する必要があるそうです。

script/plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/

script/generate authenticated user sessions --include-activation --stateful
    • user

サインアップする際に登録されるテーブル

    • sessions

sessions controllerの名前です。
ログイン/ログアウトを管理します。

    • (--include-activation)

メールによるユーザー登録認証を可能にします。

    • (--stateful)

acts_as_state_machineと連携し、activation codeを生成します。

    • ( --skip-migration)

userのマイグレーションをスキップする事もできます。

マイグレーションファイルが作成されるので、
下記のコマンドでテーブルを作成します。

rake db:migrate

acts_as_state_machineをお使いの場合は、
次のコマンドでプラグインをインストールし、

svn export http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/trunk vendor/plugins/acts_as_state_machine


下記のようにconfig/routes.rbに加筆しましょう。

map.resources :users, :member => { :suspend   => :put,
	                               :unsuspend => :put,
	                               :purge     => :delete }

map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate', :activation_code => nil
map.signup '/signup', :controller => 'users', :action => 'new'
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'


(--include-activation option)を追加した場合は、次のようにconfig/environment.rbに追記しましょう。

config.active_record.observers = :user_observer (または自分でつけたmodel名_observer)


こちらを参考にさせていただきました。
ありがとうございました。
ザリガニが見ていた...。
idesaku blog


それから、GmailSMTPを使う場合は、こちらを参照。
また後日まとめます。

Configuring Rails To Use Gmail’s SMTP Server