ところが、意外とブログを書いて、記事を参考にしている方が少しでもいるならと、逆に頑張ってしまいそうです。
睡眠不足にはならないよう、少しずつですが続けていきたいと思います。
さて、今回は Fat Free CRM のテーブルを覗いてみます。
/db/migrate フォルダにある最初のマイグレーションファイルは
001_create_session.rb
です。
これは、sessionsテーブルを作成するマイグレーションファイルです。
通常のWebアプリケーションならセッションの情報をブラウザのクッキーにもたせます。Railsでもセッション情報は通常クッキーに保持させるようですが、Railsにはセッション情報をデータベースに持たせる仕組みが予め備わっているそうです。
Rakeタスクに
db:sessions:create
があります。
NetBeansで実行しようとすると次のような説明があります。
Creates a sessions migration for use with ActiveRecord::SessionStore
このRakeタスクを実行することによって、ActiveRecord::SessionStroreと連携してセッション情報をDBに保持することができるようになるようです。
上記のRakeタスクを実行したあとには、db:migrate が必要になりますが、Fat Free CRM では一気に作成してもらっていますので、自分でアプリケーションを作成する際に、この仕組を使うならこの2つのRakeタスクが必要になります。
また、
/config/initializers/session_store.rb
の15行目に
ActionController::Base.session_store = :active_record_store
とあり、これがデータベースでセッション管理するよ!という指定のようです。
実際にアプリケーションにログインして、データを見てみると2件レコードが作成されていました。
でもまだ、クッキーを見ると、sessionsテーブルのsession_idに設定されているデータを同じクッキーがブラウザで確認できました。
書籍「RailsによるアジャイルWebアプリケーション開発 第3版」によると、どうもapplication.rbも修正が必要とのこと。
Fat Free CRM では、
/app/controllers/application_controller.rb
の30行目にある
# protect_from_forgery # :secret => '165eb65bfdacf95923dad9aea10cc64a'
このあたりの設定が問題なければ、セッションをデータベースで管理できるようになるようですね。
あとで、コメントを外して試してみます。 今日はここまで。
0 件のコメント:
コメントを投稿