我是一名前端开发人员,并且是 Ruby on Rails 的新手,所以请忽略我缺乏命名约定等问题。
我正在使用的网站使用 RequireJS 并且我正在实现 Recurly 付款表格,除了签名之外,我可以让一切正常工作。
问题是我的签名是由服务器生成的,因此它需要通过 Ruby 来获取构建交易表单的代码,但是因为 application.js 文件不是'erb'所以它找不到值,这里是 JS:
Recurly.config({
subdomain: "ie-webinar"
, currency: "USD"
, country: "US"
});
Recurly.buildTransactionForm({
target: '#recurly-transaction'
, successURL: '/thank_you.html'
, signature:'<%= @signature %>'
});
这是 config > initialiser > recurly.rb 中的 Ruby 代码
signature = Recurly.js.sign(
:transaction => { :amount_in_cents => 19_99, :currency => 'USD' }
)
我该如何解决这个问题?我已经尝试在 View 中创建一个 .js.erb 文件,但我不确定如何调用它或让它出现在网站标题中?
最佳答案
app/views/partials/_recurly_signature.html.erb
<%= javascript_tag do %>
Recurly.signature = "<%=j RECURLY_SIGNATURE %>";
<% end %>
配置/初始化程序/recurly.rb
RECURLY_SIGNATURE = Recurly.js.sign(
:transaction => { :amount_in_cents => 19_99, :currency => 'USD' }
)
app/views/layouts/application.html.erb
<head>
= render :partial => "partials/recurly_signature"
</head>
关于javascript - Ruby On Rails - 在使用 require.js 时我需要一个 javascript 文件通过 ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15339427/