从文本区域Rails中的一组电子邮件中创建许多对象



我正在制作一个应用程序,您可以在其中邀请参与者参加项目。我希望能够同时邀请很多人,就像在电子邮件收件人字段中键入一堆电子邮件地址一样。当提交"邀请"表单时,我的:参与者表中的新对象将为每个相应的电子邮件创建,状态栏标记为"已邀请"

我是新来的,虽然我以前在表单中做过"update.all",但我从未从一个文本区域"创建"过很多。

您可以在每个逗号和/或空白处进行拆分:

def create
  params[:project][:participants_addresses] = params[:project][:participants_addresses].split(/s|,/) if params[:project].try(:[], :participants_addresses).present?
  # from now params[:project][:participants_addresses] is an array of Strings
  # you can loop on each email address and create Participant records in the DB,
  # having the status as "invited"
end

您可以使用以下形式输入:

<%= f.text_field :emails_list %>

你要求用逗号分隔的电子邮件。

然后在控制器中,你可以做这样的事情:

emails = params[:your_object][:emails_list]
emails_list = emails.split ","
emails_list.each do |email| #iterate on email addresses
end

最新更新