Я получаю следующую ошибку при использовании ползунка jquery ui при обновлении через ajax:
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 выглядит следующим образом:
<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 index
unless params[:weeks]
@date_range = 4
else
@date_range = Home.filter(params[:weeks])
end
end
И в моей модели:
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, все работает нормально.
Можеткто-нибудь объясните, что я здесь делаю не так, пожалуйста?