【问题标题】:money-rails: Use helpers within a controllermoney-rails:在控制器中使用助手
【发布时间】:2015-11-04 07:19:06
【问题描述】:

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

<Money fractional:650 currency:USD>

我想获取值6.5,然后将其发送到网关,有一个名为:humanized_money 的助手,但我不能从控制器中使用它。任何建议将不胜感激。

【问题讨论】:

    标签: ruby-on-rails-4 money-rails


    【解决方案1】:

    在 Rails 5 中,view_context 不再可用......您可以使用 helpers.humanized_money 在控制器中内联调用您的辅助方法,或者直接调用:

    ActionController::Base.helpers.humanized_money
    

    【讨论】:

      【解决方案2】:

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

      view_context.humanized_money
      

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

      【讨论】:

      • 在我看来,没有理由不回去使用这个更清洁、更强大的替代方案。不用担心。 :)
      【解决方案3】:

      在您想要使用金钱宝石的控制器中执行以下操作:

      include MoneyRails::ActionViewExtension

      在您要使用金钱对象的方法中,现在可以使用助手。

      示例: money_without_cents(@money)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-18
        • 2011-05-26
        • 1970-01-01
        • 2023-03-27
        • 2016-07-23
        • 1970-01-01
        相关资源
        最近更新 更多