小编Mar*_*orn的帖子

Rails - 从命名路由中提取HTTP谓词

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.

谢谢!

ruby ruby-on-rails

5
推荐指数
1
解决办法
1811
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1