我在databasedotcom
应用中使用Ruby on rails
gem来访问我的Salesforce实例,但是在正确的命名空间下创建sObject
时遇到了一些麻烦。我的数据库中已经有一个名为User
的模型,所以当我第一次尝试从Salesforce获取User
个对象列表时,我得到了我本地定义的模型。
阅读后,我发现我可以使用sobject_module
为客户端指定一个命名空间,用于连接到我的Salesforce实例。我这样做了,我还在我的项目中为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
gem
答案 0 :(得分:0)
我认为你已经得出了这个结论,但是Heroku不再维护数据库的宝石了。