需要拨打I18n Javascript,不知何故不能

时间:2013-02-23 17:59:24

标签: javascript ruby-on-rails-3

在Ruby on Rails中,我在AJAX方法中如下所示,我从数组中加载数据:

$(function () {
  $.ajax({
    url: '/areas',
    dataType: 'json',
    success: function(dat) {
      for (var i = 0; i < dat.length; i++) {
        var d = (data[i] = {});
        d["length_unit"] = dat[i].length_unit;

问题是,我在右边真正需要的是I18n.t(dat [i] .length_unit) 我有一个config / locales / sp.yml文件,如果我这样做,则找不到翻译。 我也试过这样的事情:

d["length_unit"] = <%= I18n.t(dat[i].length_unit) %>;

但这不起作用,因为找不到变量“dat [i]”。 如何在右侧进行I18n翻译?

其他信息。 在服务器上,在区域的索引方法中,我这样做:

respond_to do |format|
  format.html
  format.json { render :json => @areas }
end

我真正需要做的是 - 使用I18n.t(@ area.length_unit)渲染每个@area,而不是@ area.length_unit。换句话说,我需要在渲染之前做一些预处理,我不知道该怎么做。

0 个答案:

没有答案