有没有办法为会话设置密钥名称?
@dynamic_value = 'dynamic_123'
session[@dynamic_value] = 1
当然这不起作用,但我可以用某种方式设置会话密钥吗?
答案 0 :(得分:0)
我相信这是在这里得到解答的:How to dynamically set the name of a session variable?
我认为session
是一个普通的哈希(具有无差别的访问权限),其中的键可以是任何字符串或符号。您发布的代码应正确存储session['dynamic_123'] = 1
。
答案 1 :(得分:0)
在这里你使用实例值,然后在散列中填充你想要的所有东西
dynamic_value = @target.id
session["target_#{dynamic_value}"] = @target.id
或简洁:
session["target_#{@target.id}"] = @target.id
需要双引号