对于121.462488,未定义的方法`gsub':Float

时间:2014-04-28 06:23:42

标签: ruby ruby-on-rails-4

我有一个从第三方地图api提供商处获取地图数据的ajax调用。

jQuery(function() {
  jQuery.ajax({type: 'GET', dataType: 'script', url: '/ajax/load_bmap'});
});

以上ajax代码在load_bmap.js.erb成功调用了以下代码。

jQuery('#dituContent').attr('data-x', '<%= j @origin_x %>');
jQuery('#dituContent').attr('data-y', '<%= j @origin_y %>');

但它在日志文件中抛出以下异常导致500内部服务器错误

ActionView::Template::Error (undefined method `gsub' for 121.462488:Float):
1: jQuery('#dituContent').attr('data-x', '<%= j @origin_x %>');
2: jQuery('#dituContent').attr('data-y', '<%= j @origin_y %>');

121.462488确实是我希望用data-x代替的x坐标。

有任何帮助吗?非常感谢提前。

编辑:

修正了拼写错误。

1 个答案:

答案 0 :(得分:4)

如果@origin_x@origin_y不是字符串,那么您不需要(也不能)转义它们。只需删除j帮助程序。

jQuery('#dituContent').attr('data-x', '<%= @origin_x %>');
jQuery('#dituContent').attr('data-y', '<%= @origin_y %>');