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