gpt4 book ai didi

ruby-on-rails - 无法在 ruby​​ on rails Controller 中设置/使用 session 变量

转载 作者:数据小太阳 更新时间:2023-10-29 07:00:36 27 4
gpt4 key购买 nike

有人能告诉我从头开始在 ruby​​ on rails 应用程序中设置/使用 session 变量的正确方法吗?我无法在两个页面之间的 Controller 中设置/使用 session 变量。我正在使用 CookieStore session 类型。这是用于设置和获取 session 变量的语法:

session[:test] = "testing"

@test_str = session[:test]

如果我遗漏了什么,请告诉我。

这是我的 Controller 的样子:

class PaymentsController < ApplicationController

# GET /merchant_test
def merchant_test
session[:test] = "testing"
render :layout => false
end

# POST /post_to_mobikwik
def post_to_mobikwik
zr = Mobikwik::Request.new(params)
@mobikwik_data = zr.all_params
@test_str = session[:test]
render :layout => false
end

# POST /z_response
def z_response
zr = Mobikwik::Response.new(request.raw_post)
@checksum_check = zr.valid?
@mobikwik_post = zr.all_params
@statuscode = @mobikwik_post['statuscode']
@statusmessage = @mobikwik_post['statusmessage']
if @statuscode == "0"
@verified = zr.verified?
else
@verified = false
end
render :layout => false
end

最佳答案

您的 session cookie 设置可能有误。您应该检查响应的 header 并查看 Set-Cookie header 的外观。

它可能有一个错误的域,或者您的 cookie 可能只是 https 而您在 http 上。

配置通常在一些地方完成,比如 config/initializers/session_store.rb

Myapp::Application.config.session_store :cookie_store, {
:key => '_appname_session_id',
:path => '/',
:domain => nil, # accepted domain, for example '.example.com'
:expire_after => nil, # the session will be expired in X seconds unless active
:secure => false, # if true, cookie is valid only on https
:httponly => true # if true, javascript can't access the cookie
}

关于ruby-on-rails - 无法在 ruby​​ on rails Controller 中设置/使用 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23631614/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com