Я использую 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 %>
К сожалению, я уже сделал это (повторена на всякий случай, хотя!), и это не решило проблему. Обратите внимание, что он работает с session [: test] как раз не session [: storedDictionary] –
, а клиент, на который вы нажимаете обе службы, принимает файлы cookie правильно (для файла cookie сеанса)? –
Да, похоже, что это происходит только при перенаправлении с uploadDictionary обратно в индекс. –