2012-05-09 13 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

残念ながら、私はすでに行っていること、それは問題を解決していない:この質問を参照してください。それはセッション[:テスト]だけでセッション[:storedDictionary] –

+0

で動作し、両方のサービスを使用しているクライアントは正しくクッキーを受け入れます(セッションクッキー用)。 –

+0

それはそれのように見えます、それはuploadDictionaryからインデックスにリダイレクトするときに起こるように見えます。 –

関連する問題