我正在使用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”。如何删除它?
答案 0 :(得分:0)
我没有更改变量,只是返回了一个新变量。要更改我需要使用的变量:
stock.chomp!