1

Rails は初めてで、Gibbon を介して Mailchimp API に接続しています。

アプリのサブスクライバーが確認に 2 回署名することなく、メーリング リストに追加したいと考えていました。そのため、Devise::RegistrationsController 内で新しいユーザーが作成されたときに、Mailchimp への API 呼び出しを追加しました。ただし、確認メールで確認したら、実際に追加する必要があると思います。しかし、Devise::RegistrationsController 内でこれを正しく行う場所がわかりません。これが私の既存のコードです...ありがとう。

class RegistrationsController < Devise::RegistrationsController


    def new
        super
    end

    def create

        super

        if resource.save

            # Add the new user email to Mailchimp
            # double-optin is part of the Mailchimp API that sends/doesn't send a confirmation email
            # in this case I'm already sending a confirm signup email
            # which already informs them they'll be added to a mailing list

            gb = Gibbon.new('my-mailchimp-api') 
            gb.list_subscribe({:id => 'my-mailchimp-list-id',
                               :email_address => resource.email, 
                               :merge_vars => {:FNAME => resource.forename, :LNAME => resource.surname }, 
                               :double_optin => "false"})               
        end

    end

    def edit
        super
    end

    def update
        super 
    end

    def destroy
        super 
    end

    def cancel
        super
    end

    protected

    def update_needs_confirmation?(resource, previous)
        super
    end

    def build_resource(hash=nil)
        super
    end

    def sign_up(resource_name, resource)
        super
    end

    def after_sign_up_path_for(resource)
        super
    end

    def after_inactive_sign_up_path_for(resource)
        super
    end

    def after_update_path_for(resource)
        super  
    end

    def authenticate_scope!
        super
    end

    def sign_up_params
        super
    end

    def account_update_params
        super
    end
end
4

2 に答える 2

1

これは非常に簡単に実現できconfirm!ます。ユーザー モデルでメソッドをオーバーライドすることで実現できます。

def confirm!
  super
  do_some_mailchimp_stuff
end

お役に立てれば!

于 2013-10-04T00:24:35.260 に答える
0

devise_mailchimp gemを使用できます。ここから入手できますhttps://github.com/jcnnghm/devise_mailchimp

于 2014-09-12T11:22:45.213 に答える