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

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

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

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

Q&A

解決済

1回答

2999閲覧

[Ruby on rails] エラーのActionDispatch::Cookies::CookieOverflowが解決できない

yfj

総合スコア12

Ruby on Rails 5

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

0グッド

0クリップ

投稿2019/04/01 11:00

ActionDispatch::Cookies::CookieOverflowというエラーが
出ており、解決策がわからず質問させて頂きました。

railsで作った管理画面において、ボタンクリックでアクションに処理を渡すときに起きているラーです。

メソッドはpatchです。

[わかっている事]
エラーを調べた限り、セッションにデータを保存しすぎなのは理解ができました。
ですが、そもそもroutes.rbでルーティングを設定しているだけなので特別に何もしていません。

にも関わらずこのエラーが出るので、解決できずに困っています。

ある1つの画面でpostまはたpatchで情報をサーバーに送信したときだけ発生している現象です。
他の画面では発生していません。

[環境]
Ruby on rails
mac(ローカル)

発生している問題・エラーメッセージ

イメージ説明

ActionDispatch::Cookies::CookieOverflow

該当のソースコード

Route.rb

Ruby

1 resources :applty_histories, only: [:index, :show, :update, :destroy] do 2 member { post :update_to_pay, to: 'apply_histories#update_to_pay' }

試したこと

patchをpostに変えたが変わらず。

解決策が全く思い当たらず、途方にくれています。
ご回答をいただけますと幸いです。

解決のきっかけになるヒントのようなものでも大歓迎ですのでコメントよろしくおねがいします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

sessionに大きすぎるデータを渡しているのが原因になると思います。
せめてエラーが出ている該当のtransfer_histories_cotroller.rbのupdate_to_payアクションは共有しましょう。

update_to_payアクション内でsession["xxx"] = 大きすぎるデータ のような処理をしていませんでしょうか。
その場合 大きすぎるデータを必要な最小限のデータにすると解決しそうです。

投稿2019/04/05 02:30

ykp_yk

総合スコア654

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

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

yfj

2019/04/11 08:29

ご回答頂いていたのに気づかず申し訳ありません。 解決しました。 update_to_pay内でnilの値を参照しようとするとなぜかこの現象が発生することが分かりました。 エラー文言がそれっぽくないので気付きませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問