0
AJAX経由で更新しながら、jQueryのUIのスライダーを使用したとき、私は以下のエラーを取得しています:Rails3 AJAXエラー - Fixnumかのための未定義のメソッド `MODEL_NAME」:クラス
ActionView::Template::Error (undefined method `model_name' for Fixnum:Class):
1: $("#x_stock_list").html("<%= escape_javascript(render(@date_range)) %>");
app/views/home/index.js.erb:1:in`_app_views_home_index_js_erb__1074827181885368454_2504361900'
を私のjqueryのスライダー機能は次のようになります。
def index
unless params[:weeks]
@date_range = 4
else
@date_range = Home.filter(params[:weeks])
end
end
そして、私のモデルでは:私のホームコントローラで
<script type="text/javascript">
$(function() {
$("#x_slider").slider({
range: true,
step: 1,
min: 1,
max: 52,
values: [1, 52 ],
stop: function(event, ui) {
var url_param = $('#x_slider').slider('option', 'values');
$('#x_low_selected').html(ui.value);
$.ajax({
type: "GET",
data: ({ weeks: url_param[0] }),
url: $(this).attr('data-href'),
dataType: 'script'
});
}
});
});
</script>
、私はこれを持っている
def self.filter(weeks)
timeago = weeks.to_i
end
最後に、私のindex.jsで
$("#x_stock_list").html("<%= escape_javascript(render(@date_range)) %>");
私は、スライダーをドラッグすると、値が細かい表示されます。
Parameters: {"weeks"=>"8", "_"=>"1327514933685"}
それはエラーをスローしますが。
手動でURLをナビゲートすると、すべてhttp://localhost:3000/?weeks=9が正常に動作します。
ここで間違っていることを誰かが説明できますか?
これは意味があります - 変更されましたが、現在は "ActionView :: T emplate :: Error(未定義のメソッド 'gsub 'for 11:Fixnum):"?奇妙な – simonmorley
ええ、あなたはescape_javascriptのどちらかは必要ありません。 – Gazler
OK、to_iを削除して修正しましたが、私のビューも更新する必要があります。変更を反映するためにリロードする必要があるjsグラフがあります。 S – simonmorley