Ruby on rails 会话rails 4.1.8始终为零

Ruby on rails 会话rails 4.1.8始终为零,ruby-on-rails,session,Ruby On Rails,Session,我对会话有问题 当我在控制器上成功检查登录时: session[:username]||=[] session[:username]<< params[:username] 会话[:用户名]| |=[] 会话[:用户名]此问题是为CSRF验证问题创建的 将此代码放入应用程序控制器中。我希望这能解决你的问题 class ApplicationController < ActionController::Base protect_from_forgery with: :nu

我对会话有问题 当我在控制器上成功检查登录时:

session[:username]||=[]
session[:username]<< params[:username]
会话[:用户名]| |=[]

会话[:用户名]此问题是为CSRF验证问题创建的

将此代码放入应用程序控制器中。我希望这能解决你的问题

class ApplicationController < ActionController::Base
   protect_from_forgery with: :null_session, if: Proc.new { |c| c.request.format == 'application/json' }
end
class ApplicationController
我猜您的params[:username]是nil,您在不知情的情况下将其设置为nil。否则,您将无法显示足够的代码来确定更多内容。根据迄今为止公开的代码,
会话[:username]
将永远不会为零,因为它至少是一个空数组,您确实缺少了一些内容,您可能缺少了一些其他代码,这是跨重定向的吗?您是否看到会话id相同?您正在调用
reset\u session
,您可以通过检查会话id是否相同
put请求来确保会话持续。session\u选项[:id]
class ApplicationController < ActionController::Base
   protect_from_forgery with: :null_session, if: Proc.new { |c| c.request.format == 'application/json' }
end