我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
宝石