HerokuでRoR アプリを実行しています。Cloudmailinアドオンを使用してアプリ自体に電子メールを送信しています。
これらの電子メールの内容は、データベースに新しいコンテンツを作成するために使用されます。これは、ユーザーが他のユーザーに対して賭けを行うことができるアプリです。結果はアプリに電子メールで送信されるため、決済プロセスをトリガーできます。
次のような受信メールコントローラーがあります。
class IncomingMailsController < ApplicationController
skip_before_filter :verify_authenticity_token
def create
Spotprice.create(:deliverydate => Date.tomorrow, :spotarea_id => Spotarea.find_by_areaname("Phelix").id, :product_id => Product.find_by_productname("Base").id, :value_in_currency => "87")
end
end
上記は問題なく動作しますが、上記のコードの静的コンテンツ ( Phelix、Base、Date.tomorrow、および 87 )ではなく、電子メールのコンテンツを読み取る必要があります。
では、電子メールの本文が次のようになっている場合、どうすればよいでしょうか。
23112012 Phelix Base 87.00
23112012 System Peak 64.55
メールには複数の行があり、各行はデータベース内の 1 つの新しいスポット価格です。これは、メールの各行を何らかの形でループして、各スポット価格を個別に作成する必要があることを意味します。
ヘルプは非常に高く評価されます:)