databasedotcom gem sobject问题

时间:2014-08-14 18:09:43

标签: ruby-on-rails namespaces salesforce databasedotcom-gem

我在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

1 个答案:

答案 0 :(得分:0)

我认为你已经得出了这个结论,但是Heroku不再维护数据库的宝石了。