[英]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的人接觸,但是我正在尋找最佳和最簡單的解決方案。
所以我的兩個問題是
我認為如果可能的話,我會這樣做:
Account
模型中創建一個:after_create
掛鈎,以進行API調用。 另一種選擇是在保存AccountsController
后立即從AccountsController
進行API調用。 希望這能使您走得更遠。
編輯 :如果您不能使用API,除了將“進行API調用”替換為“將HTTP請求發送到Salesforce”之外,我的建議是相同的。 HTTP請求將具有oid
, retURL
, first_name
, last_name
等。我將在服務器端處理HTTP請求,而不是嘗試使兩種形式“同時提交”或類似的方式。
如果您需要有關如何執行HTTP請求部分的指南,建議您為此提出一個單獨的問題。 提示:首先,創建一個獨立的迷你項目,該項目將HTTP請求發送到Salesforce,僅此而已。 工作完成后,將其合並到較大的程序中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.