会话不保存变量
问题描述:
我使用Ruby on Rails,出于某种原因,当我尝试在会话中存储散列时,它不会跨页面传输,但测试变量会这样做。代码如下:会话不保存变量
class HomeController < ApplicationController
require 'read_file'
def index
session[:test] = 1
end
def uploadDictionary
#post = ReadFile.read(params['dictionary'])
file = params['dictionary']
wordHash = Hash.new(0)
file.read.each_line do |line|
wordHash[line.downcase] = line.downcase
#session[:hmm] = line
#puts session[:hmm]
end
#wordHash.each { |key, value| puts key + ' = ' + value + "\n" }
session[:storedDictionary] = wordHash
#session[:storedDictionary].each { |key, value| puts key + ' = ' + value + "\n" }
puts session[:test]
redirect_to :action => "index"
end
def checkWord
session[:storedDictionary].each { |key, value| puts key + ' = ' + value + "\n" }
#puts session[:storedDictionary].key(params[:submittedWord].downcase)
puts session[:test]
render :text => "woot"
end
end
的问题是会话[:storedDictionary]不维护自身跨越uploadDictionary和校验码,我希望有人可以给我一些建议。谢谢。更新以显示我的查看代码:
<h1>Home#index</h1>
<p>Find me in app/views/home/index.html.erb</p>
<%= form_tag({:action => :uploadDictionary}, :multipart => true) do %>
<%= file_field_tag 'dictionary' %>
<%= submit_tag "Upload" %>
<% end %>
<br>
<br>
<%= form_tag("/checkWord", :method => 'get') do %>
<%= text_field_tag 'submittedWord' %>
<%= submit_tag "checkWord" %>
<% end %>
不幸的是我已经这样做了(重试以防万一,但!),并没有解决问题。请注意,它与会话[:测试]仅适用于会话[:storedDictionary] –
,并且您正在使用这两种服务的客户端接受cookie正确(对于会话cookie)? –
是啊,它看起来像它,它似乎只发生在从uploadDictionary重定向回到索引。 –