【发布时间】:2021-02-20 09:27:39
【问题描述】:
我有这条路线
get "/articles/:id" => "articles#show", as: :article
生成路径助手article_path(article)。
是否可以为这个路径助手添加一些默认参数,比如/articles/123?token=123456?例如,我多次使用 article_path 助手,总是做类似的事情会很乏味
<%= article_path(article, token: article.token) %>
我已经尝试过使用默认路由,但这不会影响 URL 生成,当我在此路由上时只会影响 params 对象
get "/articles/:id" => "articles#show", as: :article, defaults: { token: "my token" }
我唯一能想到的就是覆盖/猴子补丁助手,但由于我也需要其他助手上的这个逻辑,我想知道是否有构建方法来做到这一点。
【问题讨论】:
-
简而言之 - 没有。查询字符串参数对 rails 中的路由是透明的。实现这一点的方法是编写自己的辅助方法,该方法只需添加额外的哈希参数并调用 super。
标签: ruby-on-rails ruby routes