当用户访问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
也与我session_id
index
中的Charset charset = Charset.forName("US-ASCII");
try (BufferedReader reader = Files.newBufferedReader(file, charset)) {
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException x) {
System.err.format("IOException: %s%n", x);
}
不同。
我错了什么? 为什么重定向后会启动新会话?
由于
答案 0 :(得分:0)
我怀疑调试器是你的问题,因为你正在中断检索会话变量的过程。如果我执行以下操作:
class PostsController < ApplicationController
def index
session[:user] = "hans"
redirect_to action: "show"
end
def show
render inline: "USER:" + session[:user]
end
end
我输入网址: / posts / index
我的输出是:&#34;用户:Hans&#34;