У меня есть фильтр поиска поля на docket_id или адрес, как с групповыми символами до и после, на столе заказов, как показано ниже: -Использование Wildcard после Like при использовании params.has_key
if params.has_key?("docket_id_filter")
@orders = @orders.where("docket_id like ? OR address like ?", "%#{params[:docket_id_filter]}%", "%#{params[:docket_id_filter]}%")
end
У меня есть проблема, когда пользователи копируют и вставляют значение в поле поиска с «возвратом каретки» или пробелом после номера.
Это не возвращает никаких значений, поскольку оно не соответствует критериям.
код работает на Rails для правильного поиска, как показано ниже: -
Started GET "/orders?utf8=%E2%9C%93&docket_id_filter=6140132790&state_filter=All&day_filter%5Bday%5D=&commit=Filter" for 127.0.0.1 at 2015-02-09 16:09:22 +0800
в то время как один с пробелом после него, как показано ниже: -
Started GET "/orders?utf8=%E2%9C%93&docket_id_filter=6140099196 &state_filter=All&day_filter%5Bday%5D=&commit=Filter" for 127.0.0.1 at 2015-02-09 16:13:45 +0800
Как я могу сделать проверить, чтобы последний символ исключил его? Я использую end_with или есть способ игнорировать его или форматировать поле поиска перед запуском кода.
или
Могу ли я проверить последний символ и выдаст ошибку всплывающих Сообщ?
Заранее благодарен