Ruby-on-Rails:如何摆脱“你被重定向”的页面
发布时间:2020-12-16 20:12:10 所属栏目:百科 来源:网络整理
导读:我覆盖了Devise的失败响应,以便我可以设置401状态代码.但是,当用户登录失败时,将被重定向到具有“您被重定向”链接的页面.如果我删除:status = 401从重定向它工作正常. class CustomFailure Devise::FailureApp def redirect_url new_user_session_url(:sub
我覆盖了Devise的失败响应,以便我可以设置401状态代码.但是,当用户登录失败时,将被重定向到具有“您被重定向”链接的页面.如果我删除:status => 401从重定向它工作正常.
class CustomFailure < Devise::FailureApp def redirect_url new_user_session_url(:subdomain => 'secure') end def respond if http_auth? http_auth else store_location! flash[:alert] = i18n_message unless flash[:notice] redirect_to redirect_url,:status => 401 end end end 编辑 或者,我想显示Flash消息并保留在同一页面上,但添加以下代码行: render :text => "unauthorized",:status => 401 造成红宝石抱怨: undefined method `render' for #<CustomFailure:0x00000103367f28> 这里发生了什么 解决方法
重定向的适当HTTP状态为30x格式(301和302是最常用的).默认情况下,redirect_to帮助器在HTTP响应中设置302状态标题.如果您重写并将其设置为401,则Web浏览器将假定响应是常规网页,并将渲染响应正文 – 重定向是“您正被重定向”的样板文本.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |