我知道用以下代码:
before_action:signed_in?only:[:new]
如果signed_in会执行新的动作?返回true,但是如果我想要在signed_in时执行新的动作呢?返回虚假我该怎么办?我必须创建一个新的方法,例如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