Rails 3 アプリケーションで新しいレコードが作成されるたびにメールを送信しています。
def new_resource_notification(resource)
@resource = resource
mail(:to => "admin@domain.com", :bcc => User.all.map(&:email), :subject => "New item added")
end
リソース コントローラー
# POST /resources
# POST /resources.json
def create
@resource = Resource.create( params[:resource] )
@resource.uploadedip_string = request.env['REMOTE_ADDR']
respond_to do |format|
if @resource.save
UserMailer.new_resource_notification(@resource).deliver
format.html { redirect_to @resource, notice: 'Resource was successfully created.' }
format.json { render json: @resource, status: :created, location: @resource }
else
format.html { render action: "new" }
format.json { render json: @resource.errors, status: :unprocessable_entity }
end
end
end
ユーザー認証にDeviseを使用しており、というフィールドを追加しましたemail_subscribe
。また、ユーザー プロファイル ビューに簡単なチェックボックスを追加して、サブスクリプションを有効または無効にしました。
現時点では、すべてが正しく機能しています。すべてのユーザーは、新しいレコードが作成されたときにメールを受け取り、ユーザーはサブスクリプションを設定および設定解除できます。私が今やろうとしているのは、この 2 つを連携させることです。
email_subscribe が true のユーザーにのみメールを送信するにはどうすればよいですか?