2012-05-09 4 views
1

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

ответ

0

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

Rails sessions current practices

+0

К сожалению, я уже сделал это (повторена на всякий случай, хотя!), и это не решило проблему. Обратите внимание, что он работает с session [: test] как раз не session [: storedDictionary] –

+0

, а клиент, на который вы нажимаете обе службы, принимает файлы cookie правильно (для файла cookie сеанса)? –

+0

Да, похоже, что это происходит только при перенаправлении с uploadDictionary обратно в индекс. –