当用户访问“index”页面时,我会将其重定向到“show”页面。正如您在“index”中所看到的,我正在设置一个变量。
当我强制初始化会话时,使用以下命令:
skip_before_filter :verify_authenticity_token, only: :show
def show
debugger
render inline: "<h3>hello</h3>"
end
def index
session[:user] = "hans"
debugger
redirect_to action: "show"
end
当我在show
操作中使用调试器时:
session
=> #<ActionDispatch::Request::Session:0x7f9a8e0882e0 not yet loaded>
当我强制初始化会话时,使用以下命令:
session[:init] = true
接下来有一个会话,但是 session[:user] == nil
并且 session_id
与我在 index
中获得的 session_id
不同。
我做错了什么? 为什么重定向后会启动新会话?
谢谢
session
数据在目标动作中可以正常访问。你可能还有一些自定义路由用于show
动作,因为你不需要传递一个id
参数吗? - Matouš Borák