0

在 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。换句话说,我在渲染之前需要做一点预处理,我不知道该怎么做。

4

0 回答 0