只是想知道如何在current_user(我猜这是一个会话中的全局可用变量)中使用类似design的东西?
我的意思是,要从其他地方获得视图中的任何内容,您需要@prefix
那么这种变量是什么呢?如何使这样一个变量"全局"可用?
类似于design的current_user,一个全局可用的变量,我猜这是一个会话
current_user
不是全局变量。例如,在应用程序引导期间不能引用current_user
——这不仅没有任何意义,而且证明了它不是全局的,因为它不可用。在Ruby中判断变量是否全局的另一种快速方法是全局变量以$
开头。
相反,current_user
是一个助手方法,它被DeviseController包含在ApplicationController中。
要制作类似的方法,您可以将自己的方法添加到自己应用程序的ApplicationController
:中
def current_balance
current_user.balance
end
然而,请注意,如果您发现自己在ApplicationController
中放置了多个真正的应用程序范围的辅助方法,那么通过将不相关的问题混合到控制器中,您几乎肯定会产生技术债务。