プロフィール
DTIブログ!

Search

Ruby on Rails 1.x系 ログイン認証

Ruby on Railsには、現在
 1.x系 と 2.x系の二つがある。

利用可能なプラグインなどに若干違いがある。
今回は、RoR1.x系のログイン認証のメモ

RoR1.x系のログイン認証に利用するのは、
「acts_as_authenticated」プラグイン

実際に、動作するさせるところまで書いていく。

まず、テスト用のプロジェクトを作成
>rails  _1.2.6_  login_ror1

プロジェクトのディレクトリに移動
>cd  login_ror1

acts_as_authenticatedのプラグインの導入
(これは、プロジェクトごとにやるみたい)
login_ver1 > ruby script/plugin install
http://svn.techno-weenie.net/projects/plugins/acts_as_authenticated/


generateが利用可能になるので、generateを使ってプロジェクトに追加
>ruby  script/generate  authenticated user accounts

ユーザ情報を格納する必要があるので、generateが作成したuserテーブル用migrationファイルの実行
>rake  db:migrate

ログインやログアウトの機能を利用するには、ルーティングの追加が必要
「config/routes.rb」を編集
AcctionController::Routing::Routes.drow do | map |

#(略) ここから追加部分

 # add routes 2008/11/28

  map.login "/login", :controller => "accounts", :action => "login"
  map.logout "/logout", :controller => "accounts", :action => "logout"

#(略) ここまでが追加部分
end

ログイン部分を作る。
app/views/layout/application.rhtmlを作成し、次のコードを入れる。
<body>
<%# ここから %>
<% if logged_in? %>
    Current User : <%=h current_user.login %>
        <%= link_to "[logout]", logout_path %>
    <% else %>
        Not Logged In <%= link_to "[login]", login_path %>
    <% end %>
<%# ここまで %>
<%= yield %>
</body>

これで、すべてのviewは、このページを経由して画面が生成されることになる

次のページにアクセスする
http://localhost:3000/accounts/signup

新規ユーザ登録画面
必要事項を入力して、「sign up」ボタンを押すと
ログインされ、左上の方に
  Current User: 登録したユーザ名 [logout]
と表示される。




次のファイルを削除して、railsデフォルトのTOPページを表示させないようにする。
public/index.html

次のファイルにrouteを追加記述する。
http://localhost:3000と入力されたときに、表示される画面を設定
「config/routes.rb」を編集
AcctionController::Routing::Routes.drow do | map |

#(略) ここから追加部分

  map.login "/login", :controller => "accounts", :action => "login"
  map.logout "/logout", :controller => "accounts", :action => "logout"

#(略) ここまでが追加部分

# 今回追加分
    map.root "/", :controller => "accounts", :action => "signup"
end

map.rootこのルーティングの名前
”/”http://localhost:3000/をTOPとしてみるので、
これにアクセスされたら実行
:controller => "accounts"コントローラーはaccountsにする
:action => "signup"アクションは、signupにする

次のアドレスにアクセス
http://localhost:3000/
すると、
http://localhost:3000/accounts/signup
のページが表示される。ただし、URL部分のhttp://localhost:3000/
のままのまず。

Ruby on Railsの必要工数

最近予約システムを開発しているのだが、よく見ているBlog(ウィリアムのいたずらの開発日記)で必要工数についての記事があるとの情報を見たので、早速今回のやつに適用してみようと思う。

工数(人月)の設定ではシステムの画面数やファイル数
必要工数=0.1×ファイル数+1.3×画面数+0.3×バッチ数

早速、今回開発したものに適用(小さいシステムだけど)

ファイル
 ・controller 5個
 ・View 10+5個
 ・設定ファイル 2個
画面
 ・月別予約画面(カレンダーベース)
 ・個別予約一覧
 ・新規予約
 ・利用不可能日設定
 ・利用ユーザ設定 
 ・利用場所設定

ファイル 22個、画面 6個
必要工数 = 0.1 x 22 + 1.3 x 6 = 2.2 + 7.8 = 10
10日 x 8時間 = 80時間

もっとよく、見たほうがよさそうだ。
明日、きちんと調べてみよう。
 ・ファイル数、画面数
 ・Ruby on Railsの一般的な工数削減数

部屋予約システム開発時の参照サイト様

カレンダーベースの部屋予約システムを開発しているのだが、
そのときに参考にさせてもらったサイト様をメモしておく。

Ruby関係
オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル
Ruby リファレンスマニュアル
DateTime

配列関係
Rubyによる多次元配列の実装方法について

タグ関係
dete_select
date_select
date_selectとかdatetime_selectとかのオプション

ActiveRecord関係
findメソッド
ActiveRecordのfindメソッド

Ruby on Rilasプラグイン関係
restful_authentication
restful_authenticationによるユーザ認証を実装
restful_authenticationを触ってみた
restful_authentication でメール認証するぞ
calendar_helper
日程調整アプリを拡張しよう-1-

その他
予定表で時間が重なった場合の警告と日が重なった場合の表示をするには?

行動

電波的な彼女〜幸福ゲーム〜 より
「感情は目的を示し、論理は方法を示す」

・感情により目的を示すものがいれば、論理により方法を示すものがいる
・主人が目的を示すことにより、参謀は論理(実現方法)を示す

天才とは?

天才とは、自分に「できること」と「できないこと」を正しく理解している人のこと


天才診断
http://cgi2.tky.3web.ne.jp/~bites/genius/

あなたの天才可能性:10%

あなたには天才的な才能とそれを開花させるに十分な環境が備わっていません。天才として歴史に名を刻むような生き方は難しいですが,少なくとも平均的幸福は確実に手に入れる事ができます。


あなたには 凡人 の性質が見受けられます。

顔立ちの特徴

目が二つあり口が一つある

肯定的面

協調性を持ち何をしても普通に幸せになれる

否定的面

非常に一般的で流されやすい
あなたが天才になれない理由:諦め

あなたは自分の才能をどこか信じきれず,諦めかけている部分があります。結果的に完全燃焼ができないので才能が成長する気配はありません。

あなたと同じタイプの天才:

いない

天才に関する言葉:

これらの人々が非凡な仕事をやるのは,非常に繊細な体質があってのことだ。彼らはそのおかげで稀有の感受性にもめぐまれるし,また天の声を聞く事ができた(ゲーテ)

天才とは何か
http://homepage2.nifty.com/snowdrop/etc/tensai.html
« | 2008/11 | »
S M T W T F S
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -