私はactiverecord-session_store
gemを使ってデータベースにセッションを保存しています。現在のユーザーのセッションをRailsでのみ表示
私はSessionsControllerでこの方法でセッションを一覧表示:
def index
@sessions = Session.all
end
しかしこれは、すべてのアプリでセッションと現在ログインしているユーザーのためだけでなく、ものを示しています。セッションのデータベース表には、次の列があります。id, session_id, data, created_at, updated_at
したがって、フィルタリングする列はuser_id
ではありません。
私は、リストをフィルタリングするためにこのデータを使用するにはどうすればよいMarshal.load(Base64.decode64(session.data))['user_id']
とのセッションデータでuser_id
にアクセスすることができますか?これまで考えられていたのは、ビュー内で条件を実行して、それをそれと比較することです。current_user.id
<% @sessions.each do |session| %>
<% if Marshal.load(Base64.decode64(session.data))['user_id'] == current_user.id %>
<!-- LIST SESSION -->
<% end %>
<% end %>