我正在寻找一种方法来获取原始未解释的 Rails 路线。
假设我有一条路线:
/data_model/23455-cooltitle/sub_models
访问时,我想使用以下参数获取原始路由:
/data_model/:model_id/submodels
我正在寻找一种方法来获取原始未解释的 Rails 路线。
假设我有一条路线:
/data_model/23455-cooltitle/sub_models
访问时,我想使用以下参数获取原始路由:
/data_model/:model_id/submodels
我有点不清楚你想要什么,但我假设你的意思是,给定一个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
我确信那里有一些边缘情况下落不明,但这应该适用于您的标准资源路由。