是否可以在Ruby on Rails中的javascript资源中使用帮助程序?我正在尝试使用可用帮助器Object { fractional: "21050.0", currency: Object, bank: Object }
转换Money对象humanized_money
。在普通视图中它正常工作<%= humanized_money_with_symbol my_money_object %>
但在 js.coffee 文件中它在javascript控制台中显示此错误。
ReferenceError:未定义humanized_money
我的.js.coffee文件
$('.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)
我已经将show.json.jbuilder更改为使用humanized_money进行响应,而不是在视图中执行此操作。
json.extract! @item, :id, :unit, :created_at, :updated_at
json.unit_price humanized_money @item.unit_price
答案 0 :(得分:0)
解决此问题的最简单方法是为钱创建一个initializer
文件,并覆盖to_json
方法
class Money
def as_json(options)
self.to_f
end
end
默认情况下,money列显示的数据多于视图中实际需要的数据。