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