![](/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.