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
私が実際に行う必要があるのは、@area.length_unit の代わりに、I18n.t(@area.length_unit) を使用して各 @area をレンダリングすることです。つまり、レンダリングする前に少し前処理を行う必要があり、その方法がわかりません。