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

时间:2016-02-16 15:32:47

标签: ruby-on-rails ruby salesforce restforce

我使用Ruby on Rails 4.2.5和Restforce gem for Salesforce API。我在我的控制器中创建了一个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并未解释如何创建具有两个元素之间关系的新条目,或者我没有做足够的实验来理解我该怎么做。

我没有足够的功劳来发布截图,但如果这是necesseray,我可以使用imgur或类似的东西。

P.S:我已经看到了关于这个主题的this post,但这对我没有任何帮助。

1 个答案:

答案 0 :(得分:2)

嗯,经过一个小时的研究,我终于找到了如何在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帐户中为Opportunity and Contact创建和填充的字段,并发现没有与我正在寻找的关系相对应的字段。

我发现,与salesforce中相比,只有两个对象之间的联结存在对象,并且它们被称为&#34; Junction Object&#34; (很明显,但不容易找到)。

您只需要创建一个新的Salesforce对象create()创建你的第一个元素(我联系)后,并创建一个良好的类型的交界处对象(对我来说是Candidatures__c ),并指定两种关系。

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

希望它会有所帮助。