money-rails: 在控制器中使用助手

money-rails: Use helpers within a controller

我集成了一个支付网关,我使用 gem money-rails 在我的应用程序中处理资金,从我的控制器我有一个动作来向用户的信用卡收费,我想使用 money-rails 的帮手,但是假设您只能从视图中使用帮手,那么我不知道如何正确获取发送到支付网关的金额,例如,如果我有以下货币对象:

<Money fractional:650 currency:USD>

我想获取值 6.5,然后将其发送到网关,有一个名为 humanized_money 的帮助程序,但我无法从控制器使用它。如有任何建议,我们将不胜感激。

可能有点晚了,但是为了从控制器的角度访问助手,您可以使用

view_context.humanized_money

这适用于任何其他视图助手。

在 Rails 5 中,view_context 不再可用....您可以使用 helpers.humanized_money 在控制器中内联调用辅助方法,也可以简单地调用:

ActionController::Base.helpers.humanized_money

在你想要使用钱的控制器中gem做:

include MoneyRails::ActionViewExtension

在您要使用货币对象的方法中,助手现在可用。

示例: money_without_cents(@money)