2013-03-12 4 views
0

Я внедряюсь Повторные платежи в проект, проект использует requirejs, и есть требуемые файлы javascript, 1 с именем «front.js.coffee» для клиента сайт, а второй - «admin.js.coffee» для CMS. Я создал глобальную переменную как часть, которую я визуализирую в заголовок веб-сайта, а затем мне нужен файл front.js, чтобы вытащить это значение, чтобы построить форму транзакции Recurly. Я должен был сделать это так, потому что мне нужен сервер для создания подписи, поэтому он должен был пройти через файл * html.erb.Как передать глобальную переменную javascript в requirejs, ruby ​​on rails

Так вот глобальная переменная внутри файла общего вида:

<%= javascript_tag do %> 
    signature_value: '<%= j RECURLY_SIGNATURE %>' 
<% end %> 

Так вот JS внутри front.js файла:

Recurly.config 
subdomain: 'iewebinar' 
currency: 'USD' 
country: 'US' 
Recurly.buildTransactionForm 
target: '#recurly-transaction' 
successURL: '/webinars/thank_you.html' 
signature: 'signature_value' 

Я новичок в Ruby, Rails на развитие и я не совсем понимаю требования, поэтому простые инструкции были бы замечательными :)

ответ

1

прежде чем вам потребуются файлы 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, так что вы получите may имеют доступ к постоянной (извините, я не уверен в этом).

successURL: '/webinars/thank_you.html' 
signature: '<%= RECURLY_SIGNATURE %>' 
Смежные вопросы