私はユーザーに一度に複数のユーザーを追加するよう招待しています。基本的に誰かがアカウントを作成したときに、最初に行うのは、招待状を使って多数のユーザーを追加することです。招待状の招待状 - Ruby on rails
フォームのフィールドを複製して、各エントリについて
ありがとうございます!
私はユーザーに一度に複数のユーザーを追加するよう招待しています。基本的に誰かがアカウントを作成したときに、最初に行うのは、招待状を使って多数のユーザーを追加することです。招待状の招待状 - Ruby on rails
フォームのフィールドを複製して、各エントリについて
ありがとうございます!
これは私がやる方法です。
コンマで区切られた電子メールリストを受け入れるテキスト領域を提供します。 を定義して、このリストの各メールに招待状を送信する新しいアクションを定義します。
この例では、ユーザーモデルとユーザーコントローラを想定しています。
batch_inviteアクションのルートを定義します。
resources :users do
collection do
post 'batch_invite'
end
end
users_controllerでbatch_invite作用
def batch_invite
#Validate the user_emails field isn't blank and emails are valid
params[:user_emails].split(",").each do |email|
User.invite!(:email => email)
end
#redirect_to appropriate path
end
テキストエリアに電子メールのカンマ区切りリストを受け付けるフォームを定義します。
<%= form_tag batch_invite_users_path, :method => :post do %>
<%= label_tag "Email ids of people you'd like to invite." %>
<%= text_area_tag :user_emails %>
<%= submit_tag "Invite!" %>
<% end %>
ノートのカップル:
あなたのコントローラーがスキニー好きなら、あなたはあなたのUserモデルとパスでsend_batch_invitationsメソッドを作成することによって、例えば、モデルにロジックを移動することができますparams [:user_emails]をそのメソッドの引数としてユーザコントローラから取得します。
招待状を送信する方法が完了するのに十分な時間がかかることがあるので、このタスクをバックグラウンドジョブプロセッサー(delayed_jobまたはresqueなど)に割り当てることをお勧めします。 これら2つのバックグラウンドジョブプロセッサの使用方法を示すrailscastsがあります。
あなたはdevise_invitable gemを使用しているとします。ユーザーは電子メールアドレスを使用するだけで一群のユーザーを招待しますか? – Shreyas
うん、あなたは両方の権利を持っています。 Devise_invitableを使用し、電子メールアドレスを入力するだけで、ユーザーは電子メールを受け取り、送信された受け入れリンクを使用してパスワードを設定します。 –