0

メールの本文を文字列形式で取得できます

本体 = params[:プレーン]

そして、それを出力すると、次のようになります。

やあ。

--
ジョン B.

私のiPhoneから送信された。

今、改行で分割しようとすると、次のbody.split("\n")ようになります。

---
- !'やあ。'
- ''
- ! '--'
- ジョン B.
- ''
- 私の iPhone から送信されました。

余分なハイフンと前髪がよくわかりません。何かご意見は?

また、そうすると が表示されますbody[2]--body.index("--")何も返されません。

アップデート

私の RecomingMails コントローラーで:

...

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)%>

更新 2

次のようなことbody.split("\n").to_sをすると、予想される配列が次のように見えるはずです(文字列として):["Hi there. ", "", "-- ", "John B.", "", "Sent from my iPhone."]

4

1 に答える 1

0

params[:plain] は実際には文字列ではないと思います。それが実際に何であるかを調べるためにテストする必要があると思います。たとえば、次を試してください。

puts params[:plain].class

于 2012-06-12T23:48:46.053 に答える