Is this possible? If so, how......???
Oops I meant sessions
bluengreen wrote:
a = [ { :one => 1 } ]
Hi --
a = Array.new
=>
h1 = Hash.new
=> {}
h2 = Hash.new
=> {}
h3 = Hash.new
=> {}
h1[:stuff] = 'marshmallows'
=> "marshmallows"
h2[:stuff] = 'graham crackers'
=> "graham crackers"
h3[:stuff] = 'hershey bar'
=> "hershey bar"
a << h1
=> [{:stuff=>"marshmallows"}]
a << h2
=> [{:stuff=>"marshmallows"}, {:stuff=>"grahm crackers"}]
a << h3
=> [{:stuff=>"marshmallows"}, {:stuff=>"grahm crackers"}, {:stuff=>"hershey bar"}]
bluengreen wrote:
:key is a Symbol literal which is always the same object in memory. "key" is a String literal which will create a new object every time you say "key". So, there are performance gains, but more important for me are the semantics of a symbol (think of it like an identifier or a name) and the simple fact that you type and look at less code.
Symbols are somewhat tricky to really understand, but I think some of the details are no important once you get used to common usage. They will eventually be a type of String with Ruby 2, but for now, though they seem similar, :key.is_a?(String) returns a most certain false.
Thanks for all the reply's. Unfortunately i was leaving work when I
wrote the thread and I was a little brain dead from trying to solve a
problem. I meant to say into sessions not arrays.
I'm trying to save hashes into the session and I keep getting 500
errors and TypeErrors.
I'm trying to connect to a LDAP directory and save the entry from a
search into session for caching from page to page with looking it up
again.
This is how the applications we have at my work have been written and
I want to follow the same methodology. But I keep getting the
errors. I know it's probably related to the object/hash being passed
can not be marshaled. However, my Ruby skills are weak at best. So
that doesn't mean squat to me. I pass it to a temp var, I've used
to_s and that works but I can't get me stuff back out like I want.
It's just one big string. I pass the hash using to_hash and it gives
the same errors as if I passed the object directly.
I dunno. Do you guys know?
thanks, phill
bluengreen пишет:
Oops I meant sessions
bluengreen wrote:
Is this possible? If so, how......???
Why not ?
session[:blah] = { :apple => 'red' } session[:blah][:foo] = 'bar'
yeah read my follow up...hash in arrays
it's been a pain....mainly because I don't know Ruby enough ....
you can always examine the contents of the hash in the development error screen and see the hash arrays (key => 'value') and see what you need to see.
or
create a simple view template that has <%= debug session %>
which will display your session hash in nice formed statements
Craig