私はDeviseをセットアップし、素晴らしいウォーキングをしました。私はconfirmableを使用しており、2ステップの登録プロセスガイドに従ってこれを変更しました。
私が問題を抱えている最後の要件が1つあります。
私たちが持っているのは2つのシナリオです
1)ユーザーは新規登録できます
2)ログインしたユーザー(current_user)は、新しいユーザーを作成できます。ログインしたユーザーが新しいユーザーを作成するときに、新しく作成したユーザーに送信される確認メールに自分のメールを追加できるようにしたい
新規登録ユーザーへの電子メールで、ユーザーがログインしたユーザーによって作成された場合は、なんとかしてcurrent_user.emailを渡す必要があります。次に、簡単なチェックを行い、電子メールにテキストを追加します。
現在、confirmation_instructions.html.erb:
<p>Welcome <%= @resource.email %>!</p>
<p>You can confirm your account email through the link below:</p>
<p><%= link_to 'Confirm account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
必要なのは
<p>Welcome <%= @resource.email %>!</p>
<% if !@user.email.nil? %>
<p> some additional welcome text here from <%= @user.email %> </p>
<% end %>
<p>You can confirm your account email through the link below:</p>
<p><%= link_to 'Confirm account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
私は喜びもなくカスタムメーラーを行ったり来たりしてきました。誰かが私を助けてくれますか、私がここで見逃している簡単なことがあると確信しています。
詳細については(これが最善の方法ではないことはわかっていますが、デモ用に非常に簡単なアプリをまとめています)、ユーザーはメールアドレスを入力して新しい連絡先を作成します。電子メールアドレスがユーザーテーブルに存在しない場合、新しいユーザーが作成され、連絡先関係が作成されます(コントローラーのスニペット)。
class DashboardController < ApplicationController
before_filter :authenticate_user!
def show
@contacts = current_user.contacts
end
def createcontact
user2 = User.find_by_email(params[:contact_email])
if user2.nil?
newContact = User.create(:email => params[:contact_email])
if newContact.save
current_user.newUserContact(newContact)
redirect_to dashboard_path, :notice => "conact has been saved as well as a new contact"
else
redirect_to dashboard_path, :notice => "ERROR saving contact"
end
else
.
.
.
.