设计current_user对象&会话变量

时间:2016-01-13 14:23:08

标签: ruby-on-rails session devise

我在理解如何从模型/超级级别访问设备// validate expireIntvl >= heartbeatIntvl long expireIntvl = conf.getLong(YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS, YarnConfiguration.DEFAULT_RM_NM_EXPIRY_INTERVAL_MS); long heartbeatIntvl = conf.getLong(YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS, YarnConfiguration.DEFAULT_RM_NM_HEARTBEAT_INTERVAL_MS); if (expireIntvl < heartbeatIntvl) { throw new YarnRuntimeException("Nodemanager expiry interval should be no" + " less than heartbeat interval, " + YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS + "=" + expireIntvl + ", " + YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS + "=" + heartbeatIntvl); } 时遇到一些麻烦。我想将一些属性设置为会话变量(因此我不必每次都运行应用程序范围的before_filter。

您是否建议设置会话密钥(正确的术语是什么?),还是可以通过点击设计方法来修改current_user对象?

1 个答案:

答案 0 :(得分:0)

根据您尝试做的事情,您可以始终覆盖current_user方法(在ApplicationController上设置)并进行任何适合您需要的修改。更多信息:

Where to override current_user helper method of devise gem

在上面的示例中,您可以始终使用devise_current_user返回的内容,然后在从覆盖的current_user方法返回之前修改它。