また何か足りない…
私は使用してmcapi2
おり、次の行を使用してほとんど問題なくコントローラーでユーザーをサブスクライブできます。
@response = @mcMailer.lists.subscribe("XXXXXXXX", "email" => @user.email)
ただし、次を使用してユーザーを更新しようとすると(名前が取得されました):
@response = @mcMailer.lists.update_member("XXXXXXXX", "email" => @user.email, "merge_vars" => {"FNAME" => params[:stat][:firstname]})
次のエラーが発生し続けます。
ArgumentError (wrong number of arguments (2 for 3..5)):
app/controllers/stats_controller.rb:135:in `upload'
私はすべての形式を試したと思いますが、最初の名前を更新することができないようです。
アップデート:
まだ運がありません。
mailchimp-api コードを見てきましたが、 update_member として定義されているようです:
def update_member(id, email, merge_vars, email_type='', replace_interests=true)
_params = {:id => id, :email => email, :merge_vars => merge_vars, :email_type => email_type, :replace_interests => replace_interests}
return @master.call 'lists/update-member', _params
end
そして、私のコードは、次の可能なすべてのバリエーションでした(想定される正しいものを除いて):
mergeVars = [:FNAME => params[:stat][:firstname]]
@response = @mcMailer.lists.update_member("XXXXXXXX", "email" => @user.email, mergeVars)
メール chimp-api には、def の前に次のものがあります。
@param [Array] merge_vars array of new field values to update the member with. See merge_vars in lists/subscribe() for details.
しかし、私はまだどこが間違っているのか分かりません。