在我的index.html.erb中,有一段代码调用了部分:
<% @leagues.each do |league| %>
<td class="last_updated">
<%= render "last_updated", { league: league } %><br>
</td>
<% end %>
并在我的index.html.erb中包含此代码
$(document).ready(function() {
setInterval(function() {
$('.last_updated').load('refresh_last_updated');
}, 5000);
});
在我的控制器中我尝试更新@last_updated原因这是我每次重新加载部分时需要刷新的变量然后我尝试重新加载部分保持一切相同但是这个变量。
def refresh_last_updated
@last_updated = BetResult.last_updated
render :partial => "last_updated"
end
这是部分
<%= @last_updated[league] %>
但代码崩溃了
ActionView::Template::Error (undefined local variable or method `league' for #<#<Class:0x00000003d86b90>:0x000000075ad000>):
所以ajax调用似乎正在运行。这些路线似乎正在发挥作用。似乎正在调用正确的控制方法。但是当它尝试重新加载部分时,它没有最初加载时给出的参数。我不确定在刷新时部分中是否有@last_updated变量可用...我做错了什么?我如何使这项工作?