Rails中有一种方法可以提取与路由关联的HTTP谓词吗?例如,给定这样的路线:
match 'users', to: 'users#show', via: [:get, :post]
我能实现这样的目标吗?
users_path.respond_to?(:get) (显然#respond_to不是正确的方法)
我最接近的是通过以下方式来做,但它似乎并不令人满意.
Rails.application.routes.routes.named_routes["users"].constraints[:request_method] # => /^GET$/
对于上下文,我有一个动作设置一个cookie然后执行一个redirect_to :back,但是这个动作在整个站点全局可用(它在页脚中).因此,如果用户碰巧在流中,并且其中一条路由只接受POST,则重定向失败,因为发出的请求是GET.
谢谢!