Rails 如何判断正确的请求方法?

puras · 2012年05月23日 · 最后由 torvaldsdb 回复于 2018年08月28日 · 3275 次阅读

在 Rails 中,修改和删除,是用的所谓的 PUT 和 DELETE 请求方法,但其实是通过 POST 来模拟的,所以通过 request.method 来查的时候,取到的都是 POST,有没有什么办法,能取到 PUT 和 DELETE???

谢谢!

用 request.delete? request.put?判断

或者通过 middleware 或者修改 application 的 before_filter 覆写 request.method, 但是会不会起什么副作用 (尤其是第三方 app),就不知道了......

#2 楼 @puras 我发现我回这帖的时候脑子短路了.....用 request.request_method 也能取到........

lz 试试<%= action_name() %>可以直接获得是 action 的名称(index, show,edit etc....),应该可以满足你的要求~~~

#3 楼 @clearJiang 哈。我寻思来说一下,用 request.delete?这样可行咧。没想到还有更简单的方法.感谢哈 . #4 楼 @qqerqqer 暂时只想取请求的类型,先不要 action 的名称。唔.不过同样感谢

1. action_name == "create" 
2. params[:action] == "create" 
3. request.post?
需要 登录 后方可回复, 如果你还没有账号请 注册新账号