質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

0回答

1516閲覧

activerecord-session_storeで操作のたびにupdated_atを更新したい

node

総合スコア12

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2016/08/28 08:55

activerecord-session_storeでセッション管理をしています。
セッションクリーニングで30分以上、操作がないユーザーのセッションを削除しようと思っています。
ですが、sessionsテーブルのupdated_atの更新は画面遷移(index/showなど)では更新されませんでした。

常時、更新するためにapplication_controller.rbで以下の処理を入れてみたのですが
あまり賢い方法とは思えません。

他にいい方法はないでしょうか?

ruby

1diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb 2index e6f71ad..ff1a3a1 100644 3--- a/app/controllers/application_controller.rb 4+++ b/app/controllers/application_controller.rb 5@@ -8,6 +8,8 @@ class ApplicationController < ActionController::Base 6 7 helper_method :current_user 8 9+ before_action :last_operated_at 10+ 11 protected 12 def current_user 13 @current_user ||= User.find_by(id: session[:current_user_id]) 14@@ -28,4 +30,8 @@ class ApplicationController < ActionController::Base 15 end 16 end 17 end 18+ 19+ def last_operated_at 20+ session[:last_operated_at] = DateTime.now 21+ end 22 end 23

環境:
Ruby 2.3.1
Ruby on Rails 4.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/28 09:39

session クラスでアクセスタイム等を更新してやればいい気がしますがDBを直接操作する意味がありますか?
node

2016/08/29 12:56

DBを直接操作するつもりはないです。 どちらかというと、sessionクラスを使って更新日時を更新したいのですが いまいち賢い方法が思いつかず、こまっています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問