2009-12-16 47 views
2

我想遍历会话中存储的所有变量。我检查,看来会话存储为哈希: request.session.kind_of?(哈希) - 返回true当使用ruby-on-rails时,如何迭代会话中存储的变量?

我不知道为什么下面的代码不起作用: request.session.each {| key,value | puts keys +“ - >”+ value

我想输出所有会话变量作为调试视图的一部分。

回答

4

相反的:

request.session.each {|key, value| puts keys + " --> " + value 

用途:

request.session.each {|key, value| puts key.to_s + " --> " + value.to_s } 
+0

这不工作了。你必须使用'request.session.to_hash' – 2016-06-23 19:45:52

1

<%= debug session %>可能会更容易。

使用这样的:

<% if ENV['RAILS_ENV'] == 'development' %> 
    <%= javascript_include_tag 'prototype' %> 
      <%= debug session %> 
      <%= debug params %>     

<% end %> 
1
request.session.to_hash.each{|key, value| puts "#{key.to_s} --> #{value.to_s}"}