Поиск по шаблону URL - PullRequest
0 голосов
/ 07 мая 2019

Я создаю службу, в которой пользователи устанавливают плагин для всех своих страниц на своем сайте (например, добавляя его в свой шаблон), но я хочу запускать код плагина только для определенного URL-адреса или шаблона URL-адресов, предоставленных владелец сайта.

Я бы хотел, чтобы владелец сайта мог установить простой вид шаблона URL (например, аналогично тому, как это делает Cloudflare):

enter image description here

Например, владелец сайта может установить шаблон URL следующим образом: https://example.com/pages/*/edit

И сохраните этот шаблон в БД, вот так:

@url = Url.create string: 'https://example.com/pages/*/edit'

Допустим, пользователь посещает URL https://example.com/pages/my-page/edit Я хочу передать его обратно в свое приложение и каким-то образом найти ранее созданный @url с этим конкретным URL.

Url.find_by_url 'https://example.com/pages/my-page/edit'

Должен затем вернуть ранее созданную Url запись.

Как бы вы поступили так?

1 Ответ

1 голос
/ 08 мая 2019

Закончилось нахождением этого ответа: https://stackoverflow.com/a/3410431/117554, который я адаптировал к рельсам следующим образом:

Url.find_by_sql(["
  select * from urls
  where ?
  like replace(value, '*', '%')
", url]).first

Используя функцию replace из Postgres.Кажется, до сих пор работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...