Я хотел бы извлечь параметры из url. У меня есть следующий шаблон пути:Извлечь url params в ruby
pattern = "/foo/:foo_id/bar/:bar_id"
И пример URL:
url = "/foo/1/bar/2"
Я хотел бы получить {foo_id: 1, bar_id: 2}. Я попытался преобразовать рисунок в нечто вроде этого:
"\/foo\/(?<foo_id>.*)\/bar\/(?<bar_id>.*)"
мне не удалось на первом этапе, когда я хотел заменить обратную косую черту в URL:
formatted = pattern.gsub("/", "\/")
Вы знаете, как исправить эту GSUB? Возможно, вы знаете лучшее решение для этого.
EDIT: Это простой рубин. Я не использую RoR.
Вы должны пропустить обратный слэш. попробуйте этот 'gsub ("/"," \\/")' –
Вам нужно только вывести слэши в литерал Regexp ('/ foo \/bar /'). Если вы определяете Regexp из строки, вам не нужно ('Regexp.new (« foo/bar »)). (Вы можете проверить это самостоятельно, используя встроенный 'Regexp.escape'.' Regexp.escape ("foo/bar") 'возвращает' "foo/bar".). –