0
我有一個在Heroku上運行的RoR應用程序,其中我使用Cloudmailin附加組件將電子郵件發送到應用程序本身。在Rails中解析文本
這些電子郵件的內容將用於在數據庫中創建新內容。這是一個應用程序,用戶可以在其中對其他用戶進行投注。結果是通過電子郵件發送到應用程序,因此可以觸發結算流程。
我有一個接收郵件控制器,看起來像這樣:
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
郵件有多條線路,其中每行是數據庫中的一個新的Spotprice。這意味着我不知何故也必須遍歷郵件中的每一行,並分別創建每個Spotprice。
幫助將非常大大appriciated :)
簡單有時是複雜的,當一個是相對較新的Rails :)但是,感謝 - 它就像一個魅力,正是我一直在尋找... – Twiddr
優秀,很高興幫幫我。如果您的電子郵件數據變得更加複雜,您可以在Ruby String頁面上找到更多的文本解析優點 - http://www.ruby-doc.org/core-1.9.3/String.html。此外,Rubular對於測試正則表達式(對於Ruby和一般)來說非常棒 - http://rubular.com/。 –