我们几个月来一直在努力解决这个问题,并没有做到这一点。由于这是第一次被问到,我们更改了代码(基于该网站的原始开发人员所建议的内容),但我们仍然没有达到我们需要的位置。
我对Ruby比较陌生,目前正在学习一些课程以了解更多信息,所以请耐心等待。我们正在使用Ruby 1.9和Rails 3.2我们将AS 400 / DB2用于我们的数据库。
我们有一个在线订购网站,您必须设置一个帐户才能访问。根据您设置的帐户类型,您可能必须由某人批准您的订单。即如果我是一个下落账户,我的经销商必须批准我订购的东西。此外,如果我是一个专用的下落账户,我的经销商也必须批准我订购的东西。
2014年7月7日更新
最初,对于有1-2个电子邮件地址的帐户,一切都很有效,但是在有两个以上的情况下我们得到NoMethodError:
NoMethodError (undefined method `prfdstw1' for nil:NilClass):
app/models/order.rb:355:in `submit_order'
我们现在已经使用不同的帐户进行了几个小时的测试,现在似乎没有确定的模式,失败与成功的帐户,大约50%的测试工作,无论电子邮件数量或帐户类型。
有问题的行是:
if sign_on.acctypw1.strip == "DS" or sign_on.acctypw1.strip == "DSD"
rec = SignOn.first(:conditions => {:userw1 => login}, :select=> "prfdstw1")
webid = rec.prfdstw1 if rec
def ignore_exception
begin
yield
rescue Exception
end
end
和
target_email = Contact.connection.select_values
("SELECT EMAL23 FROM WEBOEL23 WHERE ACT223 = #
{Contact.connection.quote(rec.prfdstw1)}").uniq
和
if sign_on.acctypw1.strip == "DS" or sign_on.acctypw1.strip == "DSD"
# If there is no distributor email address, the mailer model will
substitute in the admin's email from their settings
target_email.each do | email_address |
Mailer.deliver_order_distributor_approval_email(email_address, 'Coastal Pet Online
Ordering<noreply@coastalpet.com>', "Order Confirmation Approval", email_details)
end
有没有更好的方法来返回允许超过2封电子邮件的数组?我现在不确定target_email
行。我们收到的一些帐户没有可用的电子邮件地址,但这根本不是任何押韵或理由。
提前感谢您的帮助!