【发布时间】:2020-12-03 18:12:20
【问题描述】:
current_page? doesn't work with POST requests,但是有said可以解决here。
我尝试像这样使用url_for:
current_page?(url_for(controller: 'pages', action: 'booking_confirm'))
# but..
ActionController::UrlGenerationError in Pages#index
No route matches {:action=>"booking_confirm", :controller=>"pages"}
作为参考,这里是由于请求为POST而失败的尝试
# 1
current_page?(url_for('/booking_confirm'))
# 2
current_page?('/booking_confirm')
另外,here 对此事有一些有趣的了解。我不完全理解它,但它暗示current_page? 可能无法做我需要它做的事情,但我在这里询问以防有人有一些想法
【问题讨论】:
-
你能详细说明用例吗?也许还有其他简单的解决方案可以使用,特别是如果这种方法有点不稳定/不可预测
-
我同意@Maxence。我不明白 POST 路由的
current_page?何时会起作用,但另一个问题是您发布的错误似乎表明该页面和操作不存在路由。如果有的话,能否请您发布相关路线?
标签: ruby-on-rails rails-routing