Ruby on rails 在Rails中解析文本

Ruby on rails 在Rails中解析文本,ruby-on-rails,parsing,heroku,cloudmailin,Ruby On Rails,Parsing,Heroku,Cloudmailin,我有一个RoR应用程序正在运行,我正在使用该插件向应用程序本身发送电子邮件 这些电子邮件的内容将用于在数据库中创建新内容。这是一个应用程序,用户可以对其他用户下注。结果通过电子邮件发送到应用程序中,因此可以触发结算过程 我有一个邮件接收控制器,看起来像这样: class IncomingMailsController < ApplicationController skip_before_filter :verify_authenticity_token def create

我有一个RoR应用程序正在运行,我正在使用该插件向应用程序本身发送电子邮件

这些电子邮件的内容将用于在数据库中创建新内容。这是一个应用程序,用户可以对其他用户下注。结果通过电子邮件发送到应用程序中,因此可以触发结算过程

我有一个邮件接收控制器,看起来像这样:

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
邮件有多行,每行是数据库中的一个新Spotprice。这意味着我还必须以某种方式循环浏览邮件中的每一行,并分别创建每个Spotprice


非常感谢您的帮助:)

如果您要查找的只是如何解析每行空格分隔的文本,那么这应该可以-

email_text_array = []

email_text.split("\n").each do |email_line|
    email_text_array << email_line.split(" ")
end

当一个人对Rails比较陌生的时候,“简单”有时是复杂的:)但是谢谢-它就像一种魅力,正是我想要的……太好了,很乐意帮忙。如果您的电子邮件数据变得更复杂,您可以在Ruby字符串页面上找到更多的文本解析功能-。另外,Rubular对于测试正则表达式(对于Ruby和一般来说)来说是非常棒的。
email_text_array = []

email_text.split("\n").each do |email_line|
    email_text_array << email_line.split(" ")
end
email_text_array = [
    ["23112012", "Phelix", "Base", "87.00"],
    ["23112012", "System", "Peak", "64.55"]
]