按网址格式搜索

时间:2019-05-06 22:43:47

标签: ruby-on-rails ruby url search

我正在构建一项服务,用户可以在其站点的所有页面上安装插件(例如,通过将其添加到模板中),但是我只想在特定URL或由URL提供的URL模式上运行插件代码网站所有者。

我希望网站所有者能够设置一种简单的URL模式(例如,类似于Cloudflare的方式):

enter image description here

例如,网站所有者可以将网址格式设置为:https://example.com/pages/*/edit

并将此模式保存在数据库中,如下所示:

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

说,然后用户访问网址https://example.com/pages/my-page/edit,我想将此网址传递回我的应用程序,并以某种方式找到先前使用该特定网址创建的@url

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

然后应返回先前创建的Url记录。

您将如何去做?

1 个答案:

答案 0 :(得分:1)

最终找到了这个答案:https://stackoverflow.com/a/3410431/117554,我像这样适应了滑轨:

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

使用Postgres中的replace函数。到目前为止似乎工作正常!