首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在javascript中使用money-rails助手

在javascript中使用money-rails助手
EN

Stack Overflow用户
提问于 2016-06-18 00:12:31
回答 1查看 357关注 0票数 0

在Ruby on Rails中使用javascript资源中的助手是可能的吗?我正在尝试用可用的帮助器humanized_money转换Money对象Object { fractional: "21050.0", currency: Object, bank: Object }。在正常视图中,它工作正常,但在js.coffee文件中,它在<%= humanized_money_with_symbol my_money_object %>控制台中显示此错误。

ReferenceError:未定义humanized_money

我的.js.coffee文件

代码语言:javascript
复制
$('.select2-hidden-accessible').change ->
  item_id = $(this).find(":selected").val()
  unit_price_input = $(this).parent().find('.unit_price')
  unit_price = 0;
  $.ajax "/items/#{item_id}.json",
    type: 'GET'
    dataType: 'json'
    error: (jqXHR, textStatus, errorThrown) ->
        console.log(textStatus)
    success: (data, textStatus, jqXHR) ->
        console.log(data['unit_price'])
        unit_price = data['unit_price']
  unit_price_input.val(humanized_money unit_price)

解决方案

我已经用humanized_money将show.json.jbuilder更改为response,而不是在视图中执行此操作。

代码语言:javascript
复制
json.extract! @item, :id, :unit, :created_at, :updated_at
json.unit_price humanized_money @item.unit_price
EN

回答 1

Stack Overflow用户

发布于 2018-08-02 07:18:56

解决这个问题的最简单方法是创建一个initializer文件,然后覆盖to_json方法

代码语言:javascript
复制
class Money
  def as_json(options)
    self.to_f
  end
end

默认情况下,money列显示的数据比视图中实际需要的数据多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37886045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档