使用 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
我的两个表之间有关系。
Candidate
与 Opportunity
相关联(如果您愿意,可以提供工作机会),并且 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我在上面创建了一些行。
希望对您有所帮助。
我在 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
我的两个表之间有关系。
Candidate
与 Opportunity
相关联(如果您愿意,可以提供工作机会),并且 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我在上面创建了一些行。
希望对您有所帮助。