所以我正在处理某种形式的电子邮件。现在,它只接受一封电子邮件,但我们正在考虑发送多封电子邮件,这意味着允许表单接受多个电子邮件。
我的想法是做一个before_save来将输入的电子邮件转换成数组并处理以数组形式发送电子邮件。问题在于表单仍显示一个数组。所以我的模型中有以下内容:
before_save do
self.email = self.email.split(',').map(&:strip)
end
数据将转换为精细数组。但是,表单将数据显示为数组,除非将其更改为字符串,否则无法更新。
表单如下:
=tb_form_for [:admin, @contact], remote: true, data: { errors: :inline, success: thanks_path } do |f|
= f.tb_text_field :email.to_s
但是实际上并没有将数组转换为字符串。
还有另一种方法可以将数据接受为字符串,转换为数组并可以显示为字符串吗?
答案 0 :(得分:0)
您可以使用email.join(',')
将数组转换为字符串,而不是调用.to_s,它将转换为类似"email a,email b,email c"
的字符串