gpt4 book ai didi

ruby-on-rails - 如果 before_action 返回 false 如何执行操作

转载 作者:行者123 更新时间:2023-12-03 23:17:25 24 4
gpt4 key购买 nike

我知道使用以下代码:
before_action :signed_in?, only: [:new]
行动new如果 signed_in? 将被执行返回 true,但如果我想要 new signed_in?时要执行的 Action 返回 false 我该怎么办?我是否必须创建一个新方法,例如,not_signed_in? ?

这是我的 signed_in?方法

def signed_in?
!@current_user.nil?
end

最佳答案

before_action 不像您想的那样工作 - 如果回调返回 false,它不会阻止执行操作.
我会以稍微不同的方式解决您的问题,例如:

before_action :redirect_to_root, :if => :signed_in?, :only => :new

# ...
private
def redirect_to_root
redirect_to root_path
end

关于ruby-on-rails - 如果 before_action 返回 false 如何执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20120485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com