我知道下面的代码:
before_action :signed_in?, only: [:new]
如果signed_in?
返回true,那么将执行new
操作,但是如果我想让signed_in?
返回false时执行new
操作,我该怎么做呢?我需要创建一个新的方法,比如not_signed_in?
吗?
这是我的signed_in?
方法
def signed_in?
!@current_user.nil?
end
signed_in?
返回false
它就不会运行吗?为什么会这样呢? - Marek Lipkabefore_action
的目的是什么?它是用来阻止一个动作执行,如果它返回 false 吗? - zer0unobefore_filter
名称。 - Marek Lipka