blog
« node.JS VS RingoJS 比較サイトまとめ |  TOPへ  | サーバーサイドJavaScriptで簡単Webアプリ開発 - バッチ処理開発編 »
RingoJS

「Webフロント開発編(2)」に続き、本編ではメールに添付された登録完了(complete)機能の開発を行います。メール内にリンクされたURLが登録完了処理のURLになります。リンクをクリックして、GETでuidを取得して会員ステータスを保留(waiting)から有効(active)に変更します

登録完了処理の作成(http://localhost:8080/completeの処理)

action.jsにcompleteメソッドを追加する。GETプロパティを追加する

[action.js]

/**
 * complete page
 */
exports.complete = {};
exports.complete.GET = function(req) {

  //処理を記述する

};
リクエストパラメータのチェック

リクエストオブジェクトからuidの存在の有無をチェックします。ここもチェック処理自体は最小限にとめておきます。

[action.js]

  var uid = req.params['uid'];
  if (uid === "") {
    return Response.skin(module.resolve('skins/complete.html'), {
      title: 'エラー',
      errorMessage: 'URLに問題があります'});
  }
memberテーブルのstatusをactiveに更新

GETで渡ってきたuidにマッチするuidのレコードをmemberテーブルよりselect()メソッドでひっぱってきて、'active'という文字列をセットしてsave()メソッドで保存します。selectした結果オブジェクトを使って、save()メソッドを実行すると、データーの更新が可能になります

[model.js]

  /**
   * 登録完了処理
   */
  complete: function(uid) {
    var result = this.loadObject.query()
        .equals('uid', uid).select();
    result[0].status = 'active';
    result[0].save();  
  },
登録完了HTMLテンプレート作成

messageを表示するだけのシンプルなものを用意します

[skins/email/complete.html]

<% extends ./base.html %>

<% subskin content %>
<div id="header"><h1><% title %></h1></div>
<div id="body">
<p id="message"><% errorMessage %></p>
<h3><% headMessage %></h3>
</div>
Member.complete()メソッドを呼び出す

特に目新しい処理はなく、上記で作成した、Member.complete()メソッド、complete.htmlテンプレートをセットします。

[action.js]

  Member.complete(uid);
  return Response.skin(module.resolve('skins/complete.html'), {
    title: '登録が完了しました',
    headMessage: '今後、検索ワードにマッチした勉強会をメールでお知らせ致します'
  });
};
メールに記述されたリンクをクリック

「Webフロント開発編(2)」で飛ばしたメールのリンクをクリックしてみると内部でaction.jsのcompleteメソッドが呼びだされ、memberテーブルの更新、登録完了ページの表示を行います。更新後の処理は以下の画像で確認できます

メールに記述されていた内容のピックアップ [登録完了URL] http://localhost:8080/complete?uid=cb18972392a103ae3903a1b70692613b [uid] cb18972392a103ae3903a1b70692613b
RingoJS memberテーブルをselectしますと、statusがwaitingからactiveに 更新されているのが確認できました ↓↓↓ RingoJS

登録完了ページが表示され、メッセージが表示されています

RingoJS

以上が登録完了機能の開発になります。次編からバッチ処理の開発に入ります。



次のステップへ
バッチ処理開発編へ
 
投稿日:2011/06/16 | カテゴリ:JavaScript | コメント・TrackBack:(1)



Trackback URL

http://blog.fukaoi.org/2011/06/16/server-side-javascript-webdev3?tb=y&entry_id=37

コメント一覧

pHLMEZJ7
24BRwU http://www.RUWE5gOde94HqsfDYIh3uBfJfSMdiDSG.com
2012/01/24 18:32(Tue)

コメントはこちらからどうぞ

 
 
              
入力された内容
確認内容として表示されます