1

databasedotcom在应用程序中使用 gemRuby on rails来访问我的 Salesforce 实例,但是sObject在正确的命名空间下创建一个时遇到了一些麻烦。我已经User在我的数据库中调用了一个模型,所以当我第一次尝试User从 Salesforce 获取对象列表时,我得到了本地定义的模型。

在阅读之后,我发现我可以为我用来连接到我的 Salesforce 实例的客户端指定一个命名空间,使用sobject_module. 我这样做了,我还在我的项目中为 Salesforce 模型定义了一个模块。但是,我仍然返回本地定义的User模型,而不是 Salesforce 定义的User模型。如果我尝试访问 Salesforce 中存在但不在本地的模型,则该对象将在正确的命名空间下返回。

为什么会这样?我想一旦我sobject_module为客户端设置了它应该在正确的命名空间下返回模型。这是我的客户端连接:

client = Databasedotcom::Client.new(
                client_id: "my_client_id",
                client_secret: "my_client_secret",
                sobject_module: "Sale"
            )

client.oauth_token = client.authenticate( username: "my_username", password: "my_password")

这是我为 Salesforce 对象定义的模块:

module Sale

end

这有效,它返回<Sale::Organization:0x007f90ef8ad590>

client.materialize("Organization")

然而这不是,它返回<User:0x007f8f7e5a06d0>

client.materialize("User")

提前致谢

更新

我无法让它为我工作,但我找到了另一个宝石,它与它完美配合。我用了restforce宝石

4

1 回答 1

0

我假设您已经得出这个结论,但是 Heroku 不再维护 databasedotcom gem。

于 2014-08-26T13:29:39.913 回答