我正在尝试在不使用任何分页宝石的菜单(类似于模板)的情况下进行 ajax 分页。例如,要在品牌菜单名称的鼠标悬停时显示品牌菜单,我使用“menu_brand”渲染,因为当时页面加载时只会从数据库中获取品牌。对于这个渲染视图,我必须执行分页功能。我成功地在控制台日志中获取当前页面内容。
在控制器中我正在这样做
def menu_brand
$cnt=Brand.count
end
def menu_brand_page
$st=0
if !(params[:startingRow].nil?)
$st = params[:startingRow].to_i
end
$brands=Brand.limit(24).offset($st)
end
在 _menu_brand.html.erb
<% if !($cnt.nil?) %>
<% @pg = ($cnt / 24).ceil %>
<div class="paginator">
<%
for j in 0..@pg %>
<%= link_to "#{j+1}", "javascript:GotoPage('#{j*24}')", %>
<% end
%>
</div>
<table width="700px"; align="center" id="menupage">
<%= render "menu_brand_page"%>
</table>
<% end %>
<script type="text/javascript">
function GotoPage(startrow) {
var theURL = '/menu_brand_page/'+<%= params[:deptid] %>
+'/' + startrow;
$.ajax({
url : theURL
});
}
</script>
在 menu_brand.js.erb
$('#bval').html('<%= escape_javascript render ('menu_brand') %>');
在 _menu_brand_page.html.erb
<% $brands.each do |brand| %>
<%= brand.name %>
<% end %>
在 menu_brand_page.js.erb
$('#menupage').html('<%= escape_javascript render ('menu_brand_page') %>');
在布局中
<div id="bval">
<%= render "menu_brand" %>
</div>
<script type="text/javascript">
$(document).ready(function() {
var theBrand = '/menu_brand/' + <%= params[:deptid] %>;
$.ajax({
url : theBrand
});
});
</script>
我的路由器.rb
match "menu_brand_page/:deptid/:startingRow" => "product_details#menu_brand_page"
match "menu_brand/:deptid" => 'product_details#menu_brand'
控制台日志输出
$('#menupage').html('\n\n \nBC\n</td>\n\n \nBC 鞋类\n</td>\n\n \nBCBG\n</td>\n </tr>\n\n\n \nBCBGeneration\n</td>\n\n \nBCBGMAXAZRIA\n</td>\n\n \nBCX\n</td>\n</tr>\n \n\n \n有创意\n</td>\n\n \n沙滩兔\n</td>\n\n \n沙滩屋\n</td>\n</tr>\n\n\ n \n海滨别墅女\n</td>\n\n \nbebe\n</td>\n\n \nBecca\n</td>\n</tr>\n\n\n \nBed Stu \n</td>\n\n \nBellatrix\n</td>\n\n \nBELLE BY SIGERSON MORRISON\n</td>\n</tr>\n\n\n \nBelle Du Jour\ n</td>\n\n \nBelle Noel\n</td>\n\n \nBen Amun\n</td>\n</tr>\n\n\n \nBENCH\n</td >\n\n \nBerek\n</td>\n\n \nBernardo\n</td>\n</tr>\n\n\n \n纽约伯尼\n</td>\n \n \nBETMAR\n</td>\n\n \n贝齐·约翰逊\n</td>\n</tr>\n\n');
请帮助我不明白为什么 menu_brand 视图中的内容没有改变。