0

我对rails相当陌生,对javascript的了解很少。这是免责声明:)

我在 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 在廉价端具有称为 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 的人,但我正在寻找最好和最简单的解决方案。

所以我的两个问题是

  1. 是否可以有一个隐藏的表单并让 simple_form 提交按钮提交两个表单
  2. 解决这个问题的最佳方法是什么
4

1 回答 1

1

如果可能的话,我认为我会这样做:

  1. 在 Rails 中创建帐户。在此步骤中不要担心 Salesforce。
  2. 在 Rails 中创建帐户后,在 Salesforce 中创建潜在客户。我可能不会使用这个 HTML 表单路线。看起来 Salesforce 有一个REST API,所以我可能会使用它。一种选择是在您的模型中创建一个进行 API 调用的:after_create钩子。Account另一种选择是在AccountsController保存帐户后从右侧进行 API 调用。

希望这能让你走得更远。

编辑:如果您不能使用 API,我的建议是相同的,只是将“进行 API 调用”替换为“向 Salesforce 发送 HTTP 请求”。HTTP 请求将具有oid, retURL, first_name,last_name等。我将处理在服务器端发出 HTTP 请求,而不是尝试使两种表单“同时提交”或类似的东西。

如果您需要有关如何执行 HTTP 请求部分的指导,我建议您为此提出一个单独的问题。提示:第一步,创建一个独立的迷你项目,向 Salesforce 发送 HTTP 请求,仅此而已。完成该工作后,将其合并到更大的程序中。

于 2013-10-23T15:54:40.227 回答