我正在尝试从用户实施HTTP删除请求。所以我在我的HTML文件中得到了这个,
<li><a href="/signout">Logout</a></li>
但在我的路线文件中,我得到了这个:
match '/signout', to: 'sessions#destroy', via: :delete
和destroy定义为:
def destroy
sign_out
redirect_to root_path
end
如果我删除“via:delete”似乎工作正常。但是如何使用HTML调用DELETE方法?
答案 0 :(得分:1)
如果您正在使用不显眼的rails插件进行jquery或[其他js libs],这很容易做到这一点。
<li><%= link_to "Logout", '/signout', method: :delete %></li>
通过使用as: :signout
命名路线可以使其变得更漂亮,允许您使用signout_path
作为网址助手。
答案 1 :(得分:0)
请参阅Is it possible to trigger an HTTP DELETE request from an HTML form?。
基本上你需要通过XMLHttpRequest
来完成。