我又错过了什么...
我正在使用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.
但我仍然不知道我哪里出错了。