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