Рельсы проверяют, заканчивается ли URL номером
Я пытаюсь создать redirect_to :back
это срабатывает после удаления объекта person. Есть несколько страниц, с которых пользователь может перейти до запуска кода удаления объекта. Если они приходят из person#show
страница, я хочу перенаправить на маршрут под названием admin_persons_path
, Если они приходят с любой другой страницы, я просто хочу, чтобы пользователь был перенаправлен обратно на страницу, на которой он находится. Страница лиц # шоу имеет структуру URL localhost:3000/admin/persons/[some_id_number]
, Я пытаюсь написать код, который читает ссылку URL и перенаправляет соответственно. Я пытаюсь сделать что-то вроде:
if request.referer.end_with?(some regular expression)
redirect_to :back
else
redirect_to admin_persons_path
end
Проблема в том, что я не думаю, что end_with? Метод может принять регулярное выражение, потому что, когда я пытаюсь сделать это с помощью регулярного выражения, я получаю сообщение об ошибке:
TypeError: no implicit conversion of Regexp into String
Как мне заставить это работать?
Пожалуйста, обратите внимание, используя redirect_back(fallback_location: admin_persons_path)
не будет работать, потому что реферрер технически существует. Если есть встроенный метод, который выполняет то, что я хочу, я не знаю об этом.
1 ответ
url = " http://www.example.com/articles?page=2"
def last_element_for_url(url)
if /[0-9]/.match(a[a.length-1]).to_a.length > 0
true
else
false
end
end
Для рельсов мы можем установить url = request.original_url
, тогда вышеупомянутый метод вернет истину или ложь в зависимости от URL.