簡體   English   中英

如何將JavaScript全局變量傳遞給requirejs,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.

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