Ruby on rails 如何在Dynamics CRM Online API中设置选项集值?

Ruby on rails 如何在Dynamics CRM Online API中设置选项集值?,ruby-on-rails,ruby,dynamics-crm,Ruby On Rails,Ruby,Dynamics Crm,我正在使用以下ruby gem连接到MS Dynamics CRM API:。我无法为任何选项集字段设置值。使用以下代码: client.create('lead', firstname: firstName, lastname: lastName, description: description, emailaddress1: email, subject: topic, companyname: company, telephone1: workPhone, teleph

我正在使用以下ruby gem连接到MS Dynamics CRM API:。我无法为任何选项集字段设置值。使用以下代码:

client.create('lead', firstname: firstName, lastname: lastName, description: description, emailaddress1: email, subject: topic, 
        companyname: company, telephone1: workPhone, telephone2: homePhone, mobilephone: mobilePhone, description: description, 
        parentcontactid: customer, customerid: customer, parentaccountid: parent, ownerid: team, campaignid: campaign, leadsourcecode: 4)

除了leadsourcecode之外,一切都正常。它返回一个错误,表示
不正确的属性类型int
。我发现选项集有一个名为name的虚拟属性,因此我尝试用
leadsourcecodename:“Partner”
替换
leadsourcecode:4
,该属性完成时没有出现错误,但CRM中没有设置该值。有人知道为什么不设置该值吗?

可能是因为您在属性中使用了不正确的对象类型。要在CRM中设置选项集,您需要使用构造函数中接受
int
。提供直接的
int
字符串将不起作用

不确定Ruby的等价物,但在C#中,这看起来像:

Entity e = new Entity("my_entity");
e["my_optionsetfield"] = new OptionSetValue(1);