2016-04-26 69 views
0

我需要在我的rails订单窗体上生成braintree客户端标记以创建DROPIN UI窗体。通常,通过调用OrdersController的新动作Braintree :: ClientToken.generate可以轻松完成此任务,以便每次创建新订单窗体时都会生成一个令牌。 高清新 布伦特里:: ClientToken.generate 结束以嵌套形式生成braintree标记Ruby on Rails 4.2

不过,我的问题是,我的订单形式是局部,我渲染为我的房源展示页面嵌套形式。这意味着我只在我的OrdersController上有一个创建操作,并且没有新的操作,因此在创建操作时不会调用Braintree :: ClientToken.generate,因为令牌必须发送到客户端JavaScript,以便dropin在表单之前工作被建造。如何在没有新操作的情况下在我的嵌套订单窗体上生成标记?

谢谢

回答

1

如果只是一个单一的ClientToken是满足你所有嵌套的表格则可以产生在主行动的新Braintree::ClientToken(例如show动作)。此操作的模板(例如show.html.erb文件)在呈现嵌套部分(订单窗体)时,可以将令牌作为局部变量交给部分。这样,您可以轻松地将相同的标记分发给所有嵌套表单。

+0

我想过,但rails会寻找listingController show操作上的merchant_id配置,并且这个连同其他braintree逻辑必须在OrdersController上设置,但是谢谢你试图帮助 – Wil

+0

我认为唯一的方法是获得在这种情况下令牌是使用ajax。 – Wil