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 > initializer > recurly.rb 内の Ruby コードは次のとおりです。

signature = Recurly.js.sign(
  :transaction => { :amount_in_cents => 19_99, :currency => 'USD' }
)

この問題を解決するにはどうすればよいですか? ビュー内で .js.erb ファイルを作成して実験しましたが、それを呼び出す方法や Web サイトのヘッダーに表示する方法がわかりません。

4

1 に答える 1

1

app / views / partials / _recurly_signature.html.erb

<%= javascript_tag do %> 
   Recurly.signature = "<%=j RECURLY_SIGNATURE %>";
<% end %>

config / initializer / 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>
于 2013-03-11T14:14:55.763 に答える