Rails会话自定义,动态名称

时间:2014-05-09 17:22:20

标签: ruby-on-rails

有没有办法为会话设置密钥名称?

@dynamic_value = 'dynamic_123'
session[@dynamic_value] = 1

当然这不起作用,但我可以用某种方式设置会话密钥吗?

2 个答案:

答案 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   

需要双引号