2016-04-26 3 views
0

Мне нужно сгенерировать клиентский образчик. Токен на моих рельсах. Форма заказа для создания формы DROPIN UI. Обычно это можно легко сделать, вызвав Braintree :: ClientToken.generate на новое действие OrdersController, чтобы каждый раз, когда создавалась новая форма заказов, генерируется токен. Защиту нового Брэйнтри :: ClientToken.generate концаСоздание токена символики в вложенной форме Ruby on Rails 4.2

Однако, моя проблема заключается в том, что моя Приказы форма является частичной, что я сделать как вложенная форму на моей странице списка шоу. Это означает, что у меня есть только действие create на моем OrdersController и никаких новых действий и, таким образом, вызов Braintree :: ClientToken.generate при создании действия не будет работать, потому что токен должен быть отправлен на стороне клиента javascript, чтобы dropin работал перед формой создано. Как я могу сгенерировать токен в моей вложенной форме заказов без нового действия?

Спасибо

ответ

1

Если только один ClientToken достаточно для всех вложенных форм, то вы можете создать новый Braintree::ClientToken в главном действии (например, показ действий). Шаблон этого действия (например, файл show.html.erb) при рендеринге вложенных партитур (формы заказов) может передать токен частичным в качестве локальной переменной. Таким образом, вы можете легко распространять один и тот же токен во всех ваших вложенных формах.

+0

Я думал об этом, но рельсы будут искать конфигурацию merchant_id в действии showController show, и это вместе с другой логикой Braintree должно быть установлено на OrdersController, но спасибо за попытку помочь – Wil

+0

Я думаю, что единственный способ получить токен в этой ситуации - использовать ajax. – Wil

Смежные вопросы