2016-07-27 56 views
0

所以我有我的Rails應用程序銷售訂閱來訪問內容。我在簽出表單中臨時插入隱藏字段以將tax_percent傳遞給Stripe的API,但它始終在條帶儀表板中顯示爲空。如果買方也在新澤西州,稅只適用於新澤西州,並且是7%。我正在通過javascript調用計算銷售稅(Calculating Sales Tax for a US State in Javascript),然後將該值推送到訂閱#創建操作。除非它不起作用。我的Rails應用程序中的條紋和tax_percent

這裏是行是這樣的形式:

<input type="hidden" id="tax_percent" name="tax_percent"> 
<%= f.hidden_field :plan_id %> 

是的,我需要建立一個Ruby方法來計算這個在服務器端,但現在,這是好的。

下面是在日誌中顯示的內容:

Processing by Koudoku::SubscriptionsController#create as HTML 
Parameters: {"utf8"=>"✓", "authenticity_token"=>"TokenValueHere", "tax_percent"=>"7", "subscription"=>{"plan_id"=>"5", "credit_card_token"=>"OtherTokenValue", "last_four"=>"undefined", "card_type"=>"undefined"}, "owner_id"=>"72"} 

所以你看,徵稅百分比似乎是認購對象之外,但plan_id的數據類型是沒有,但他們旁邊對方在結賬形式。

我該如何得到這個tax_percent來正確地擊中Stripe API?

回答

1

爲什麼你的f.hidden_field在訂閱對象裏面,而你的手冊<input>不是,你問?這是因爲您的手動輸入不使用hidden_field自動應用的表單字段的命名約定。

隨着docs for #hidden_field秀,你的隱藏字段plan_id居然有subscription[plan_id],不plan_id一個name屬性。另一個隱藏字段必須使用相同的subscription[…]慣例,因爲它的值會自動放在散列中的params["subscription"]

可以自動讓你的tax_percent隱藏字段堅持這個命名約定由使用獨立的形式幫助hidden_field

<%= hidden_field :subscription, :tax_percent %> 
<%= f.hidden_field :plan_id %> 
+0

我可以用我的JavaScript計算器輸出,這是的document.getElementById(「徵稅百分比」)。值= tax_percent;將這個稅率百分比值注入到ruby hidden_​​field中:<%= hidden_​​field:subscription,:tax_percent%> ?? – JohnOHFS

+0

當我進行此更改時出現錯誤:未定義的方法'tax_percent'用於提交 – JohnOHFS

+0

@JohnOHFS啊,我沒有注意到該隱藏字段的默認'value'是'@ subscription.tax_percent'。如果您不想爲「訂閱」模型定義'tax_percent'方法,則可以通過編寫<%= hidden_​​field:subscription,:tax_percent,value:'0.07來賦予該字段不同的值,如「0.07」 '%>'。 –

相關問題