#ruby-on-rails
#ruby-on-rails
Вопрос:
Я пытаюсь выполнить следующее, но с помощью переменной сеанса (т. Е. ‘session[:dynamically_named]’), а не переменной экземпляра. Вот как я вижу, это можно сделать с помощью переменной экземпляра:
instance_variable_set("@#{params[:key]}", params[:val])
Видя, что, похоже, не существует «session_variable_set», как это можно сделать, даже при некоторой альтернативной работе с переменной сеанса?
Ответ №1:
Вы устанавливаете значения session
, как если бы вы использовали обычный хэш, например:
session[:dynamically_named] = 'some_value'
# or, to match your example code...
session[ params[:key] ] = params[:val]
Комментарии:
1. Я опубликовал то же самое. Нет необходимости в взломах.
session
уже является динамическим.
Ответ №2:
session
(в контроллере Rails) является хэшем, поэтому используйте его как хэш:
session[:foo] = 'bar'