Ruby on rails 如何在URL中手动指定:删除请求?
情况: 我想在Rails中销毁当前会话,目前已通过Desive登录到管理员模型设置 我原以为在URL中输入Ruby on rails 如何在URL中手动指定:删除请求?,ruby-on-rails,http,Ruby On Rails,Http,情况: 我想在Rails中销毁当前会话,目前已通过Desive登录到管理员模型设置 我原以为在URL中输入site.io/admins/sign\u就足够了,但这假设了GET请求,不起作用 没有与[GET]“/admins/sign\u”匹配的路由 需要发出method::delete请求来销毁会话 可以像site.io/admins/sign_out{action:delete}这样做吗 更新 根据请求,这是与管理员相关的路由 devise_for :admins 要使用Desive注销,您
site.io/admins/sign\u
就足够了,但这假设了GET
请求,不起作用
没有与[GET]“/admins/sign\u”匹配的路由
需要发出method::delete
请求来销毁会话
可以像site.io/admins/sign_out{action:delete}
这样做吗
更新
根据请求,这是与管理员相关的路由
devise_for :admins
要使用Desive注销,您需要发布到
/admins/sign\u out
。我使用railslink\u to
来帮助实现这一点
<%= link_to "Log Out", destroy_admin_session_path, method: :delete %>
对于user
型号,只需将admin
替换为user
<%= link_to "Log Out", destroy_user_session_path, method: :delete %>
或
来源:要使用Desive注销,您需要发布到
/admins/sign\u out
。我使用railslink\u to
来帮助实现这一点
<%= link_to "Log Out", destroy_admin_session_path, method: :delete %>
对于user
型号,只需将admin
替换为user
<%= link_to "Log Out", destroy_user_session_path, method: :delete %>
或
来源:如果您强制注入
site.io/admins/sign\u
它将使用参数:{“id”=>“sign_out”}
将您发送到控制器的显示操作。因为它假定这是一个显示操作,而不是调用Delete
函数
所以,我认为直接从URL强制使用delete方法是不可能的。如果您强制注入
site.io/admins/sign\u
它将使用参数:{“id”=>“sign_out”}
将您发送到控制器的显示操作。因为它假定这是一个显示操作,而不是调用Delete
函数
所以,我认为直接从URL强制使用delete方法是不可能的。试试这个:
<%= link_to "Sign Out", destroy_admin_session_path, :method => :delete %>
:删除%>
试试这个:
<%= link_to "Sign Out", destroy_admin_session_path, :method => :delete %>
:删除%>
不,您不能在浏览器上手动键入链接并将其注销,因为在浏览器中您不能指定PUT
POST
或Delete
。如果您将注销路径定义为GET
方法,则可以直接输入路径并将其作为浏览器注销,默认情况下提供了GET
方法。您可以在Rest客户机上这样做,如下面的postman
http://localhost:3000/users/sign_out.html
选择方法为
DELETE
否您不能在浏览器上手动键入链接并将其注销,因为在浏览器中您不能指定PUT
POST
或DELETE
。如果您将注销路径定义为GET
方法,则可以直接输入路径,并默认情况下将其作为浏览器注销一种GET
方法。您可以在Rest客户机上这样做,如下面的postman
http://localhost:3000/users/sign_out.html
选择方法为
DELETE
是否可以与我们共享路由Devision在创建自己的会话时附带路由。你能添加你正在使用的视图吗?我的意思是,我想通过在浏览器中手动键入url来注销。这有可能吗?您能否与我们分享RouteDesigne创建自己的会话以及它们的路径。你能添加你正在使用的视图吗?我的意思是,我想通过在浏览器中手动键入url来注销。这可能吗?我认为调用的方法是DELETE
in sign\u out notPOST
。它是一个HTTPPOST
请求,带有DELETE
方法。我认为调用的方法是DELETE
in sign\u out notPOST
。它是一个HTTPPOST
请求,带有DELETE
方法。