У меня есть следующий код рубина в модели:
if privacy_policy_link.match(/#{domain}($|\/$)/)
errors.add(:privacy_policy_link, 'Link to a specific privacy policy page on your site instead of your homepage.')
end
Это работало до тех пор, пока пользователь не попытался сохранить ссылку на политику конфиденциальности, которая выглядела так:
https://example.com/about-me/privacy-policy-for-example-com/
Цель состоит в том, чтобы я не хотел, чтобы они ссылались на свою базовую домашнюю страницу (example.com или www.example.com и т. Д.) По этой ссылке на политику конфиденциальности (по некоторым случайным и сложным причинам, которые яне буду вдаваться).Ссылка, указанная выше , должна пройти сопоставление (это означает, что, поскольку они ссылаются на отдельную страницу на своем сайте, она не должна рассматриваться как совпадение, и они не должны видеть никаких ошибок при сохранении формы)- но поскольку они ссылаются на свой базовый домен во второй половине URL-адреса, это выглядит как совпадение.
Я не могу при всей своей жизни понять, как правильное регулярное выражение в Rubular позволяет этому URL-адресу пройти алгоритм сопоставления.И, конечно, я не могу просто попросить пользователя переименовать ссылку на свою политику конфиденциальности, чтобы в конце удалить из него «com» - потому что это: https://example.com/about-me/privacy-policy-for-example
пройдет.:)
Буду очень признателен за любую помощь, которая поможет мне понять, как решить эту проблему!
Рубулярная ссылка: http://rubular.com/r/G5OmYfzi6t