Сессия не сохраняет переменную

Я использую 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 %>

person Jeff_Hd    schedule 09.05.2012    source источник


Ответы (1)


Вероятно, вам нужно создать базу данных сеанса и включить сеансы. см. этот вопрос:

Текущие практики сеансов Rails

person Joshua Smith    schedule 09.05.2012
comment
К сожалению, я уже сделал это (повторил попытку на всякий случай!), И это не решило проблему. Обратите внимание, что он работает с session[:test], а не с session[:storedDictionary] - person Jeff_Hd; 09.05.2012
comment
и клиент, с которым вы используете обе службы, правильно принимает файлы cookie (для файла cookie сеанса)? - person Joshua Smith; 09.05.2012
comment
Да, похоже, это происходит только при перенаправлении из uploadDictionary обратно в index. - person Jeff_Hd; 09.05.2012
comment
Я не вижу ваш код индекса, возможно ли, что вы сбрасываете сеанс пользователей в какой-то момент в/в/рядом с индексом? - person Joshua Smith; 09.05.2012
comment
Я добавил свое индексное представление, и пока у меня есть только session[:test=1] в контроллере - просто надеюсь получить некоторые основы и запустить их, прежде чем играть. - person Jeff_Hd; 09.05.2012