11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/advanced_scaffold/keep_params_in_session/keep_params_in_session.rb', line 11
def keep_params_in_session(label, *keys)
sess_id_local = request.env['PATH_INFO'].gsub('/index', '')+'_'+label;
sess_id_global = 'global_'+label;
keys.each do |key|
if ((key.is_a? Hash) && key[:global])
key=key[:global]
sess_id=sess_id_global
elsif ((key.is_a? Hash) && key[:key] && key[:depend])
sess_id=sess_id_global+'_'+params[key[:depend]].to_s
key=key[:key]
else
sess_id=sess_id_local
end
params[key] = session["#{sess_id}#{key}"] if (params[key].nil? && !session["#{sess_id}#{key}"].nil?)
session["#{sess_id}#{key}"] = params[key] unless params[key].nil?
end
end
|