从我的rails应用程序注销会在日志中生成Completed 204 No Content
错误。视图只是冻结,直到手动刷新。
我已将错误跟踪到DELETE请求的处理方式:
Started DELETE "/users/sign_out" for 127.0.0.1 at 2017-02-09 06:55:24 -0800
Processing by Devise::SessionsController#destroy as */*
第二行应该有HTML
而不是*/*
。有关我需要更改哪些配置以解决此问题的任何提示?
UPDATE 这是一个使用Rails后端和Hyperloop项目的HyperReact模块的测试应用程序。因此视图呈现为React组件。以下是该组件的代码:
module Components
module Users
class Show < React::Component::Base
param :name, type: String
param :provider, type: String
param :signed_in_at, type: String
param :ip, type: String
param :avatar, type: String
def render
div do
img(src: params.avatar, width: 50, height: 50)
h1 { "Hello and welcome to your profile page #{params.name}!"}
h2 { "You are signed in with #{params.provider} since #{params.signed_in_at}." }
h3 { "Your ip is #{params.ip}." }
button.btn.btn_default(type: :button) { "Signout!" }.on(:click) do
HTTP.delete("users/sign_out")
alert("Signing out")
end
end
end
end
end
end
答案 0 :(得分:0)
对不起,在您的情况下,我的回答没有意义。对于设计,通常还需要定义:method =&gt;“delete”。我知道你这样做但我不确定链接是否正确。 rails中常见的注销链接类似于
City0 28 2 2016 Number of measures: 10
1 2 3 4 5 6 7 8 9 10
City1 28 2 2016 Number of measures: 15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
City2 1 3 2016 Number of measures: 5
1 2 3 4 5
如果您使用<%= link_to "Sign out", destroy_user_session_path, :method => :delete %>
代替.destroy
会怎样?因为该动作被称为'destroy'并且http方法被删除。不过我很抱歉,我不熟悉您所显示的语法。