class AccountController < ApplicationController
def signup
# Activation前まで
@user = User.new(params[:user])
return unless request.post?
@user.save!
#self.current_user = @user
#redirect_back_or_default(:controller => '/account', :action => 'index')
# Activationへ飛ばす
redirect_to(:action => 'signup_notification')
flash[:notice] = "Thanks for signing up!"
rescue ActiveRecord::RecordInvalid
render :action => 'signup'
end
# Notification用
def signup_notification
end
# ユーザをActivateする
def activate
@user = User.find_by_activation_code(param[:id])
if @user and @user.activate
self.current_user = @user
flash[:notice] = "Your account has been activated."
end
end
end
###23:40 追記:Observerの設定 config/enviromnent.rbに下記を追加
config.active_record.observers = :user_observer
##各種Viewの作成
- app/views/user_notifier/signup_notification.rhtml
アカウントが作成されました.
ユーザ名 : <%= @user.login %>
パスワード: <%= @user.password %>
アカウントをアクティベートするために,下記URLにアクセスしてください.
<%= @url %>
- app/views/user_notifier/activation.rhtml
<%= @user.login %>さん
ユーザ登録が完了しました.
<%= @url %>
- app/views/account/signup_notification.rhtml
アクティベートの為のメールを送信しました.
メールの内容に従ってアクティベーションをしてください.
- app/views/account/activate.rhtml
ようこそ <%= self.current_user.login %> さん!
ユーザー登録が完了しました。
##確認 メールが届かないorz ###23:40 追記:Observerを追加 したがまだメールが....orz
##注意事項 認証が必要なコントローラに以下を追加.
before_filter :login_required
comments powered by Disqus