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

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

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

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

Q&A

解決済

1回答

3176閲覧

【rails】sessionをcookieでなくActiveRecordに保存する方法

katahik

総合スコア79

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

0グッド

1クリップ

投稿2021/01/14 22:47

編集2021/01/15 03:19

はじめまして。よろしくお願いいたします。

【実現したいこと】
sessionをcookieでなくActiveRecordに保存する

【現状】

session情報をDBで管理するために、このActive Record Session Storeのサイトを参考に進めています。

Gemfile

1gem 'activerecord-session_store'


bundle install

rails generate active_record:session_migration

としたときに、

error

1 `<main>': undefined method `config' for nil:NilClass (NoMethodError)

のエラーが出ております。

【試したこと】
Railsのセッション管理には何が最適か
この記事を参考に、/config/initializers/session_store.rb(存在していなかったため、自作ファイル)に

AppName::Application.config.session_store :active_record_store, key: "_#{Rails.application.class.parent_name.downcase}_session"

と記述したあとに、再度、

rails generate active_record:session_migration

を行いましたが、やはり、

error

1`<main>': undefined method `config' for nil:NilClass (NoMethodError)

が出てしまいます。

解決策について、教えていただけると幸いです。
よろしくお願いいたします。

【環境】
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin20]
Rails 6.1.0
sqlite3 3.32.3

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

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

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

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

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

m.ts10806

2021/01/14 23:03

>cofig/initializers/session_store.rb config ではなく cofig ですか? 正しく表記してください。 ただ、エラーからするとそこじゃないような気もします。
katahik

2021/01/15 03:29

m.ts10806 様 コメントありがとうございます。ご指摘の通り、configでした。修正しました。 エラー文は、 /vendor/bundle/ruby/2.7.0/gems/activerecord-session_store-1.1.3/lib/activerecord/session_store.rb:2:in `<main>': undefined method `config' for nil:NilClass (NoMethodError) となっており、configが定義されていないとのことで、ここではないと判断されたのでしょうか?
guest

回答1

0

自己解決

/config/initializers/session_store.rb

Rails.application.config.session_store :active_record_store, key: "_wdyl_session"

key:"_wdyl_session"のwdylは自分のアプリ名

投稿2021/01/16 01:01

katahik

総合スコア79

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問