Ruby on rails 哪种编程模式是处理MailChimp邮件列表的优雅解决方案?

Ruby on rails 哪种编程模式是处理MailChimp邮件列表的优雅解决方案?,ruby-on-rails,api,design-patterns,model,ruby-on-rails-3.2,Ruby On Rails,Api,Design Patterns,Model,Ruby On Rails 3.2,我实现了一些列表管理方法,以保持Rails应用程序的用户数据与相应MailChimp列表的订户数据同步 (编辑)在引擎盖下,我已经在使用。我只是抽象出一个更高的级别来表示一个特定的列表 现在所有的逻辑都在一个控制器中,但我更希望有一个更通用的、因而可重用的方法(也许有一天甚至可以将其转换成gem) 因此,我的第一个想法是将列表表示为一个无表模型,提供必要的方法来处理它 class MailChimpList def add_subscriber # ... end

我实现了一些列表管理方法,以保持Rails应用程序的用户数据与相应MailChimp列表的订户数据同步

(编辑)在引擎盖下,我已经在使用。我只是抽象出一个更高的级别来表示一个特定的列表

现在所有的逻辑都在一个控制器中,但我更希望有一个更通用的、因而可重用的方法(也许有一天甚至可以将其转换成gem)

因此,我的第一个想法是将列表表示为一个无表模型,提供必要的方法来处理它

class MailChimpList
    def add_subscriber
        # ...
    end
    # ...
end

。。。但是我很好奇还有哪些其他的方法可以更好地反映这个想法呢?

你可以用宝石长臂猿与mailchimp互动。您可以获取列表、活动、订阅列表的电子邮件等。

对于处理API交互的更通用方法(不仅仅是MailChimp),提供了一个标准化访问100个API的方法。例如,添加MailChimp订户如下所示:

listSubscribe = MailChimp::ListSubscribe.new(temboo_session)

listSubscribeInputs = listSubscribeChoreo.new_input_set()

listSubscribeInputs.set_credential("myMailchimpAccount")

listSubscribeInputs.set_ListId("myMailingList")
listSubscribeInputs.set_EmailAddress("foo@example.com")

listSubscribeResults = listSubscribe.execute(listSubscribeInputs)
如果您认为您将在其他项目中使用MailChimp,或者尝试以类似的方式集成其他API,请查看

您可以在此处找到MailChimp方法和文档、可定制的代码片段和实时示例:

(完全披露:我为Temboo工作。:)

我已经在使用它来实现。我所做的,是更高一级的抽象,只处理与相应应用程序相关的一个特定列表。