0

作为学习 Ruby 的一部分,我正在制作一个基本的联系表单,其中数组中有一串电子邮件地址,联系表单中的消息通过 Rails Pony 发送给每个人。

ADDRESSES_BOOK = ['example1@example.com', 'example2@example.com']
def deliver
return false unless valid?
ADDRESSES_BOOK.each do |address|
  Pony.mail({
    :to => ADDRESSES_BOOK[address],
    :from => %("#{name}" <#{email}>),
    :reply_to => email,
    :subject => subject,
    :body => contactFormMessage,
  })
end
end

我在循环中做错了,因为它抛出错误“没有将字符串隐式转换为整数”。

我在这里做错了什么?

谢谢!

4

2 回答 2

1
ADDRESSES_BOOK.each do |address|
  Pony.mail({
    :to => address
    #...
  })
end

当你这样做时ADDRESSES_BOOK[address]就像说ADDRESSES_BOOK['example1@example.com']哪个试图访问索引'example1@example.com'处的数组值,但数组索引是整数并且从0开始。

所以

ADDRESSES_BOOK[0] # returns 'example1@example.com'

ADDRESSES_BOOK[1] # returns 'example2@example.com'

.each遍历数组中的每个元素并将其放入address

于 2013-11-28T08:29:45.347 回答
0

尝试这个

.....
    :to => address,
    :from => %("#{name}" <#{email}>),
    :reply_to => email,
    :subject => subject,
    :body => contactFormMessage,
.....
于 2013-11-28T08:31:04.700 回答