0

私はプロジェクトに定期支払いを実装しています。プロジェクトはrequirejsを使用しており、requirejs 2つのjavascriptファイルがあります。1つは顧客向けサイト用の「front.js.coffee」という名前で、2つ目はCMS用の「admin.js.coffee」という名前です。パーシャルとしてグローバル変数を作成し、それをWebサイトのヘッダーにレンダリングします。次に、Recurlyトランザクションフォームを作成するために、front.jsファイルでこの値を取得する必要があります。サーバーが署名を生成する必要があるため、この方法で行う必要がありました。そのため、これは「*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'

私はRubyonRails開発に不慣れで、Requirejsを完全には理解していないので、簡単な手順があれば素晴らしいでしょう:)

4

1 に答える 1

1

js ファイルを要求する前に、追加できます

<script>
  window.signature_value = '<%= j RECURLY_SIGNATURE %>'
</script>

次に、構成で使用window.signature_valueします。

successURL: '/webinars/thank_you.html'
signature: window.signature_value

もう 1 つのオプションは、ファイル名を に変更することadmin.js.coffee.erbです。これにより、Ruby 関数にアクセスできるようになるため、定数にアクセスできる可能性があります(申し訳ありませんが、これについてはわかりません)。

successURL: '/webinars/thank_you.html'
signature: '<%= RECURLY_SIGNATURE %>'
于 2013-03-12T11:05:43.393 に答える