Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails:如何在authlogic会话中存储额外数据_Ruby On Rails_Authlogic - Fatal编程技术网

Ruby on rails RubyonRails:如何在authlogic会话中存储额外数据

Ruby on rails RubyonRails:如何在authlogic会话中存储额外数据,ruby-on-rails,authlogic,Ruby On Rails,Authlogic,我正在使用Authlogic对用户进行身份验证 我了解如何创建和使用会话,但希望在authlogic创建的当前_用户会话中存储一个附加id变量 我可以这样做吗: 但是,我不确定authlogic会话的名称,也不确定如何访问它 谢谢 为什么不将值存储在会话中 session[:extra] = @extra_id.id Authlogic current_user只是当前会话中的一个值,由Rails堆栈本身管理 我同意托比的观点,如果您不需要在AuthLogic的UserSession对象上添加

我正在使用Authlogic对用户进行身份验证

我了解如何创建和使用会话,但希望在authlogic创建的当前_用户会话中存储一个附加id变量

我可以这样做吗:

但是,我不确定authlogic会话的名称,也不确定如何访问它


谢谢

为什么不将值存储在会话中

session[:extra] = @extra_id.id

Authlogic current_user只是当前会话中的一个值,由Rails堆栈本身管理

我同意托比的观点,如果您不需要在AuthLogic的UserSession对象上添加这个附加属性,那么将该值存储在会话哈希本身中可能会更简单

但在我的具体案例中,也许在你的案例中,我有我想要的关于UserSession记录的信息,而不是会话散列,因为我想在UserSession模型中的回调中访问它,其中“session”不可用

下面是一篇较旧的博文,介绍了如何在UserSession上存储附加属性:

编辑:我自己在这种方法上运气不好。为了从会话散列中获取所需的信息,我将该逻辑放在控制器中,而不是模型中


AuthLogic实际上具有某些执行控制器方法的回调。例如,AuthLogic将调用last_request_update_allowed?如果您的控制器在设置last_request_为之前响应该请求。

是的,我现在正在这样做。我想我只是想知道如何操作并向当前用户对象添加内容。但这不是必须的。
session[:extra] = @extra_id.id