使用 Rails 在 Salesforce 中使用 Restforce 创建具有关系的对象

Create object with relationship in Salesforce with Restforce using Rails

我在 Rails 4.2.5 上使用 Ruby,在 Salesforce API 上使用 Restforce gem。我在我的控制器中创建了一个 Contact :

class CandidateFormController < ApplicationController


  def index
    client = Restforce.new(
      :username => ENV['SALESFORCE_USERNAME'],
      :password       => ENV['SALESFORCE_MDP'],
      :security_token => ENV['SALESFORCE_TOKEN'],
      :client_id      => ENV['SALESFORCE_APIKEY'],
      :client_secret  => ENV['SALESFORCE_SECRET'],
    )

    new_client = client.create('Contact', FirstName: @first_name,
      LastName: @last_name,
      Email: @email,
      MobilePhone: @telephone,
      Description: @champ_libre,
      Profil_LinkedIN__c: @linkedin
     )

  end

end

我的两个表之间有关系。 CandidateOpportunity 相关联(如果您愿意,可以提供工作机会),并且 restforce documentation 没有解释如何创建具有两个元素之间关系的新条目,或者是否可以我没有足够的实验来理解我应该怎么做。

我没有足够的信任 post 截图,但如果这是必要的,我可以使用 imgur 或类似的东西。

P.S : 我已经看到 this post 关于这个主题,但这对我一点帮助都没有。

好吧,经过一个小时的研究,我终于找到了如何在 salesforce 中创建关系。

我的代码现在看起来像这样:

    class CandidateFormController < ApplicationController


  def index
    client = Restforce.new(
      :username => ENV['SALESFORCE_USERNAME'],
      :password       => ENV['SALESFORCE_MDP'],
      :security_token => ENV['SALESFORCE_TOKEN'],
      :client_id      => ENV['SALESFORCE_APIKEY'],
      :client_secret  => ENV['SALESFORCE_SECRET'],
    )

    new_client = client.create('Contact', FirstName: @first_name,
      LastName: @last_name,
      Email: @email,
      MobilePhone: @telephone,
      Description: @champ_libre,
      Profil_LinkedIN__c: @linkedin
     )

  new_candidature = client.create(
    'Candidatures__c',
    Candidats__c: "someId",
    Offredemploi__c: new_client
 )       

  end

end

就我而言,我想在 机会联系人(工作机会和候选人)之间建立关系。 我更多地查看了已经在我的 salesforce 帐户中创建和填充的机会和联系人字段,发现没有与我正在寻找的关系对应的字段。

我发现在 salesforce 中,有些对象只是为了两个对象之间的连接而存在,它们被称为 "Junction Object"(很明显,但不容易找到)。

您只需在创建第一个元素(对我来说是联系人)后用 create() 创建一个新的 salesforce 对象,并创建具有良好类型的连接对象(对我来说是 Candidatures__c), 并指定两者的关系。

在我自己的代码中,我创建了一个新的 Candidature__c,我在 Offredemploi__c 中指定了工作机会的 ID(Candidats__c id)和候选人的 Id我在上面创建了一些行。

希望对您有所帮助。