Accountコントローラの修正

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