Javascript 如何在页眉中使用Kaminari分页
我正在尝试创建一个具有分页功能的通知中心(通过Kaminari) 比如facebook 我希望此中心显示任何页面的分页(此中心包含在头文件中) 现在我已经编写了下面的代码,当我访问home.html时,它会适当地显示出来 但它的分页在其他页面(如views/test/test.html.erb)中不起作用。 也许,ajax似乎无法读取js文件,所以如果我将test.js.erb文件放在views/test中,它就会工作 从操作和维护的角度来看,这是不可取的方式 如何仅使用一个js.erb文件读取分页?谢谢你的帮助 源代码如下 型号 app/models/item.rbJavascript 如何在页眉中使用Kaminari分页,javascript,ruby-on-rails,ajax,pagination,kaminari,Javascript,Ruby On Rails,Ajax,Pagination,Kaminari,我正在尝试创建一个具有分页功能的通知中心(通过Kaminari) 比如facebook 我希望此中心显示任何页面的分页(此中心包含在头文件中) 现在我已经编写了下面的代码,当我访问home.html时,它会适当地显示出来 但它的分页在其他页面(如views/test/test.html.erb)中不起作用。 也许,ajax似乎无法读取js文件,所以如果我将test.js.erb文件放在views/test中,它就会工作 从操作和维护的角度来看,这是不可取的方式 如何仅使用一个js.erb文件读取
class Item < ActiveRecord::Base
paginates_per 50
end
查看
app/views/static/home.html.erb
<%= render 'static/header' %> <!-- reading partial header-->
app/views/static/_header.html.erb
<div><%= render 'application/items', items:@items %></div>
app/views/static/home.js.erb
$('#items').append("<%= escape_javascript(render '_items', object: @items) %>");
$("#more_link").replaceWith("<%= escape_javascript(link_to_next_page(@items, 'more', remote: true, id: 'more_link')) %>");
$('#items')。追加(“”);
$(“#更多链接”)。替换为(“”);
app/views/application/_items.html.erb
<div id="items">
<%= render 'items' %>
</div>
<%= link_to_next_page @items, 'more', remote: true, id: 'more_link' %>
<% @items.each do |item| %>
<div><%= item.name %></div>
<% end %>
app/views/application/_items.html.erb
<div id="items">
<%= render 'items' %>
</div>
<%= link_to_next_page @items, 'more', remote: true, id: 'more_link' %>
<% @items.each do |item| %>
<div><%= item.name %></div>
<% end %>
我建议创建一个单独的控制器操作来处理ajax请求:
class ItemsController
def paginate
end
end
然后将js.erb
代码移动到views/items/paginate.js.erb
下
Kaminari的link_to_next_页面
助手在内部使用link_to
,因此应该可以添加控制器
和操作
参数以链接:
<%=
link_to_next_page @items, 'more',
controller: 'items',
action: 'paginate',
remote: true,
id: 'more_link'
%>
我建议创建一个单独的控制器操作来处理ajax请求:
class ItemsController
def paginate
end
end
然后将js.erb
代码移动到views/items/paginate.js.erb
下
Kaminari的link_to_next_页面
助手在内部使用link_to
,因此应该可以添加控制器
和操作
参数以链接:
<%=
link_to_next_page @items, 'more',
controller: 'items',
action: 'paginate',
remote: true,
id: 'more_link'
%>
谢谢您的回答!除了您的解决方案,设置路由,最后它工作得非常完美!特别感谢您对“链接到帮助者”的评论!谢谢你的回答!除了您的解决方案,设置路由,最后它工作得非常完美!特别感谢您对“链接到帮助者”的评论!