я могу получить тело сообщения электронной почты в формате Строка как такРубин на рельсах - строка массив странного форматирования в электронной разборе
тело = Params [: равнинный]
И когда я вывести его, это выглядит так:
Привет.
-
Джон Б.Направлено из моего iPhone.
Теперь, когда я пытаюсь и разделить на новой строки body.split("\n")
я получаю:
---
- 'Всем привет.'
- ''
-! '-'
- John B.
- ''
- Отправлено с моего iPhone.
Я действительно не понимаю лишние дефисы и челки. Есть предположения?
Также, если я делаю body[2]
Я получаю --
, но body.index("--")
ничего мне не возвращает.
UPDATE
В мой контроллер ReceivingMails:
...
def create
body = params[:plain]
parsed_body = parse_body(body)
Comment.new(:content => parsed_body)
end
private
def parse_body(body)
split = body.split("\n")
sig_index = split.index("-- ")
return split[0, sig_index].join("\n")
end
На мой взгляд, комментарии отображаются в виде: <%= simple_format(comment.content)%>
UPDATE 2
Когда я сделать что-то подобное, body.split("\n").to_s
я получаю каков должен быть ожидаемый массив (как String): ["Hi there. ", "", "-- ", "John B.", "", "Sent from my iPhone."]
Это сериализации массив YAML, хотя я не знаю, почему. –
hmmm, если это случай, как я могу десериализоваться в норму? Я нашел эту статью, что я работаю через http://www.skorks.com/2010/04/serializing-and-deserializing-objects-with-ruby/ –
Без какого-либо контекста трудно понять, как помочь. Если вы сериализовали его, скажем, в БД, просто прочитайте его обратно. Как вы его показываете и все что имеет значение - и мы не знаем. –