Сесията не запазва променлива

Използвам 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
и клиентът, с който използвате и двете услуги, приема бисквитките правилно (за сесийната бисквитка)? - person Joshua Smith; 09.05.2012
comment
Да, изглежда така, изглежда се случва само при пренасочване от uploadDictionary обратно към индекс. - person Jeff_Hd; 09.05.2012
comment
Не виждам кода на вашия индекс, възможно ли е да нулирате сесията на потребителите в някакъв момент на/в/близо до индекса? - person Joshua Smith; 09.05.2012
comment
Добавих моя индексен изглед и засега имам само сесия [:test=1] в контролера - просто се надявам да започна да работя с някои основни неща, преди да си играя - person Jeff_Hd; 09.05.2012