1

我正在寻找一种方法来获取原始未解释的 Rails 路线。

假设我有一条路线:

/data_model/23455-cooltitle/sub_models

访问时,我想使用以下参数获取原始路由:

/data_model/:model_id/submodels

4

1 回答 1

1

我有点不清楚你想要什么,但我假设你的意思是,给定一个String表示映射到我们其中一条路线的路径,你想取回一个String路径段参数替换为它们的标识键。您可以按如下方式执行此操作:

def uninterpret(path)
  path_params = Rails.application.routes.recognize_path(path)
  path_params.each do |key, value|
    path.sub!(value, ":#{key}")
  end
  path
end

我确信那里有一些边缘情况下落不明,但这应该适用于您的标准资源路由。

于 2013-09-06T21:40:24.540 回答