ActionDispatch::Cookies::CookieOverflow (ActionDispatch::Cookies::CookieOverflow):
actionpack (4.2.8) lib/action_dispatch/middleware/cookies.rb:529:in `[]='
按下redmine rest API时出现此错误。像url1这样的简单get api可以正常工作,但是当涉及到复杂的url作为url2时,应用程序将引发Cookie溢出。
url1: localhost:3000/issues.json?page=1&limit=100
url2: http://localhost:3000/issues.json?key=292fe116d13d5f5db8a0e3f2b031f1e57ad1c882&f[]=project_id&op[project_id]=!&v[project_id][]=505&f[]=project_id&op[project_id]=!&v[project_id][]=478&f[]=project_id&op[project_id]=!&v[project_id][]=366&f[]=project_id&op[project_id]=!&v[project_id][]=419&f[]=project_id&op[project_id]=!&v[project_id][]=343&f[]=project_id&op[project_id]=!&v[project_id][]=345&f[]=project_id&op[project_id]=!&v[project_id][]=512&f[]=project_id&op[project_id]=!&v[project_id][]=487&f[]=project_id&op[project_id]=!&v[project_id][]=473&f[]=project_id&op[project_id]=!&v[project_id][]=509&f[]=project_id&op[project_id]=!&v[project_id][]=520&f[]=project_id&op[project_id]=!&v[project_id][]=404&f[]=project_id&op[project_id]=!&v[project_id][]=440&f[]=project_id&op[project_id]=!&v[project_id][]=389&f[]=project_id&op[project_id]=!&v[project_id][]=467&f[]=project_id&op[project_id]=!&v[project_id][]=501&f[]=project_id&op[project_id]=!&v[project_id][]=474&f[]=project_id&op[project_id]=!&v[project_id][]=471&f[]=project_id&op[project_id]=!&v[project_id][]=480&f[]=project_id&op[project_id]=!&v[project_id][]=507&f[]=project_id&op[project_id]=!&v[project_id][]=383&f[]=project_id&page=1&limit=100
除了用户名和会话中的cas票证,我什么都没有存储:
request.session['cas'] = { 'user' => user, 'ticket' => ticket, 'extra_attributes' => [] }
我已经在许多论坛中搜索了该解决方案。所有人都说不会保存不必要的数据,但是我要保存的只是用户名和cas票。当我打印会话时,这是结果:
puts(session.to_hash)
{"session_id"=>"fbe61cf9fd1c2ef0111d5d84a1a374c2", "cas"=>{"user"=>"[email protected]", "ticket"=>"ST-27189-R20MW7GBWaLWNJvl1aMi-localhost", "extra_attributes"=>[]}}
但是当如下所示检查会话时,我得到了如下所示的乱码数据。我看到来自GET的ActiveRecord内容和查询参数确实是该会话的一部分。
puts(session.inspect)
[result]: https://textsaver.flap.tv/lists/3caw "Click here for session.inspect output"
由于我是一个新手,刚开始使用ruby上的任何建议,将不胜感激。谢谢。