簡體   English   中英

Rails提交HTML表單以及模型表單

[英]Rails submit html form in addition to model form

我對使用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 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. 解決此問題的最佳方法是什么

我認為如果可能的話,我會這樣做:

  1. 在Rails中創建帳戶。 在此步驟中,不必擔心Salesforce。
  2. 在Rails中創建帳戶后,在Salesforce中創建銷售線索。 我可能不會這樣做。 看起來Salesforce具有REST API ,所以我可能會使用它。 一種選擇是在您的Account模型中創建一個:after_create掛鈎,以進行API調用。 另一種選擇是在保存AccountsController后立即從AccountsController進行API調用。

希望這能使您走得更遠。

編輯 :如果您不能使用API​​,除了將“進行API調用”替換為“將HTTP請求發送到Salesforce”之外,我的建議是相同的。 HTTP請求將具有oidretURLfirst_namelast_name等。我將在服務器端處理HTTP請求,而不是嘗試使兩種形式“同時提交”或類似的方式。

如果您需要有關如何執行HTTP請求部分的指南,建議您為此提出一個單獨的問題。 提示:首先,創建一個獨立的迷你項目,該項目將HTTP請求發送到Salesforce,僅此而已。 工作完成后,將其合並到較大的程序中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM