![](/img/trans.png)
[英]How to pass updating javascript variable into form to controller in Ruby on Rails?
[英]How to pass a javascript global variable into requirejs, ruby on rails
我已將Recurly Payment實施到一個項目中,該項目正在使用requirejs,並且有requirejs 2個javascript文件,其中一個面向客戶站點,一個名為“ front.js.coffee”,另一個用於CMS,名為“ admin.js.coffee”。 我創建了一個全局變量作為局部變量,並將其渲染到網站標題中,然后需要front.js文件提取此值,以構建Recurly事務表單。 我必須這樣做,因為我需要服務器生成簽名,因此必須通過“ * html.erb”文件進行傳遞。
因此,這是共享視圖文件中的全局變量:
<%= javascript_tag do %>
signature_value: '<%= j RECURLY_SIGNATURE %>'
<% end %>
所以這是front.js文件中的JS:
Recurly.config
subdomain: 'iewebinar'
currency: 'USD'
country: 'US'
Recurly.buildTransactionForm
target: '#recurly-transaction'
successURL: '/webinars/thank_you.html'
signature: 'signature_value'
我是Ruby on Rails開發的新手,並且我不完全了解Requirejs,因此簡單的說明非常有用:)
在需要js文件之前,您可以添加
<script>
window.signature_value = '<%= j RECURLY_SIGNATURE %>'
</script>
然后只需在您的配置中使用window.signature_value
。
successURL: '/webinars/thank_you.html'
signature: window.signature_value
另一種選擇是將文件名更改為admin.js.coffee.erb
。 這將使您可以訪問ruby函數,因此
可以
訪問常量
(對不起,我對此不確定)。
successURL: '/webinars/thank_you.html'
signature: '<%= RECURLY_SIGNATURE %>'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.