Я использую 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
Проблема в том, что session[:storedDictionary] не поддерживает себя через uploadDictionary и checkWord, я надеюсь, что кто-нибудь может дать мне несколько советов. Спасибо. Обновите, чтобы показать мой код просмотра:
<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 %>