Rails 2 到 Rails 3,控制器中的方法验证消失了吗?

2024-04-15

来自 Rails 2 的我的大多数控制器都会有这些行:

verify :method => :post, :only => :create, :render => {:text => '405 HTTP POST required', :status => 405}, :add_headers => {'Allow' => 'POST'}
verify :method => :put, :only => :update, :render => {:text => '405 HTTP PUT required', :status => 405}, :add_headers => {'Allow' => 'PUT'}
verify :method => :delete, :only => :destroy, :render => {:text => '405 HTTP DELETE required', :status => 405}, :add_headers => {'Allow' => 'DELETE'}

迁移到 Rails 3 后,我收到弃用警告,告诉我这些已被删除。我知道我可以获得一些插件或其他任何东西来继续使用它们,但我的问题是我真的需要吗? Rails 3 默认强制执行基本方法吗?似乎应该,如果没有,我总是觉得很恼火,不得不一遍又一遍地写这些行......


如果您使用 REST 路由,则无需验证请求方法。 使用错误的请求方法根本无法到达控制器操作。

例如,如果您尝试通过 get 访问 /users/create?name=my_name,请求将到达带有 params[:id] = create 的 show 操作,并且该操作将会失败。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 2 到 Rails 3,控制器中的方法验证消失了吗? 的相关文章

随机推荐