Вам нужна переменная сеанса как часть вашей модели или просто как флаг, чтобы определить, что выполнять?
Если первое, вам не нужно знать, откуда появились параметры, простопередать переменную в качестве аргумента для некоторого вызова в вашем методе.Например:
@user = User.new(params[:user].merge(:some_attribute => session[:some_key])
и просто добавьте проверку, как обычно, в модели.
Если вам нужно это контролировать поток выполнения, как вы упомянулиэто должно отличаться для разных пользователей, вам может понадобиться переменная экземпляра в вашем контроллере.Что-то вроде
class SomeController
before_filter :set_some_session_variable
def set_some_session_variable
@some_variable = session[:some_key]
end
end
Вы можете использовать session[:some_key]
непосредственно в своем представлении, но лучше вместо этого установить его в переменной экземпляра.