2

我是一名前端开发人员,并且是 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' }
)

我该如何解决这个问题?我已经尝试在视图中创建一个 .js.erb 文件,但我不确定如何调用它或让它出现在网站标题中?

4

1 回答 1

1

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' }
)

应用程序/视图/布局/application.html.erb

<head>
  = render :partial => "partials/recurly_signature"
</head>
于 2013-03-11T14:14:55.763 回答