Я использую CloudMailin для получения электронных писем, а затем отправляю простой текст в мое приложение Ruby on Rails.Чтобы получить доступ к основной части письма в виде простого текста, я использую params [: plain].
Если бы я просто напечатал соответствующую часть простого текста, он бы выглядел так:
Style 130690 113
Price $335.00
Stock # 2882524
Я использовал регулярное выражение для захвата имен определенных фрагментов данных:
style, price, stock = params[:plain].scan(/^(?:Style |Price \$|Stock \# )(.+)/).flatten
Это работает, однако каждая переменная имеет "\ r" или возврат каретки в конце.Итак, если на складе 80201943, он будет отображаться в моей базе данных как "80201943 \ r".
Затем я пытаюсь обновить свою базу данных следующим кодом:
shoe = Shoe.where(:size => "7").first
shoe.update_column(:stockId, stock)
Затем, когда я проверяюв моей базе данных: stockId в конце стоит "\ r".
Я пытался сделать
stock.chomp("\r")
stock.chomp
stock.strip
stock.gsub("\r", ""),
Ни один из них не удаляет "\ r" из строки.Как я могу удалить это?