我对使用javascript知识非常少的rails很新。这是免责声明:)
我在rails应用程序中使用简单的表单和haml来创建模型的实例。代码很简单,效果很好。基本上就是这个......
= simple_form_for @account, :validate => true, :url => { :action => 'create' } do |account|
= account.input :name, :placeholder => "Company name", :label => false
= account.input :first_name, :placeholder => "First name", :label => false
= account.input :last_name, :placeholder => "Last name", :label => false
= account.submit "Create my account"
我简化了上述内容。
我的销售团队来找我并要求我在每次创建新帐户时都在salesforce中创建一个潜在客户。 Salesforce在廉价端具有称为web to lead的功能,这实际上是一种Web表单。同样,表单的简化版本看起来像这样......
<form action="https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST">
<input type=hidden name="oid" value="00Db0000000bAtK">
<input type=hidden name="retURL" value="http://www.breathehr.com/blog/">
<label for="first_name">First Name</label><input id="first_name" maxlength="40" name="first_name" size="20" type="text" /><br>
<label for="last_name">Last Name</label><input id="last_name" maxlength="80" name="last_name" size="20" type="text" /><br>
<label for="company">Company</label><input id="company" maxlength="40" name="company" size="20" type="text" /><br>
<input type="submit" name="submit">
</form>
现在,我的想法是我可以使用屏幕中的变量填充此表单,然后以某种方式获取rails simple_form以在提交时提交html表单。如果有必要,我可以访问了解java和ajax的人,但我正在寻找最好和最简单的解决方案。
所以我的两个问题是
答案 0 :(得分:1)
我想如果可能的话,我会这样做:
:after_create
模型中创建一个Account
挂钩,以进行API调用。另一种选择是在保存帐户后立即从AccountsController
进行API调用。希望这会让你走得更远。
编辑:如果您无法使用API,我的建议是相同的,只需将“make API call”替换为“向Salesforce发送HTTP请求”。 HTTP请求将包含oid
,retURL
,first_name
,last_name
等。我会处理在服务器端发出HTTP请求而不是尝试制作两种表单“同时提交”或类似的东西。
如果您需要有关如何执行HTTP请求部分的指导,我建议您另外提出一个问题。提示:作为第一步,创建一个独立的迷你项目,向Salesforce发送HTTP请求,仅此而已。一旦你有了这个工作,就把它加入到更大的程序中。