我正在嘗試創建一個通知中心,其中包含像facebook一樣的分頁(通過Kaminari) 。如何在標題中使用Kaminari分頁
我希望此中心顯示來自任何頁面的分頁(此中心包含在頭文件中)。
現在我已經編寫了下面的代碼,然後在我訪問home.html時顯示正確。但是其分頁在其他頁面(例如views/test/test.html.erb)中不起作用。 可能,ajax似乎無法讀取js文件,所以如果我把test.js.erb文件放在views/test中,它就會起作用。
鑑於操作和維護,這是不受歡迎的方式。
如何通過只使用一個js.erb文件讀取分頁?感謝您的幫助
源代碼如下。
模型
應用/模型/ item.rb的
class Item < ActiveRecord::Base
paginates_per 50
end
控制器
應用程序/控制器/ items_controller.rb
before_action :pagination
def pagination
@items = Item.page params[:page]
end
查看
應用程序/視圖/靜態/ home.html.erb
<%= render 'static/header' %> <!-- reading partial header-->
應用程序/視圖/靜態/ _header.html.erb
<div><%= render 'application/items', items:@items %></div>
應用/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.html.erb
<div id="items">
<%= render 'items' %>
</div>
<%= link_to_next_page @items, 'more', remote: true, id: 'more_link' %>
應用程序/視圖/應用/ __ items.html.erb
<% @items.each do |item| %>
<div><%= item.name %></div>
<% end %>
謝謝您的回答! 除了你的解決方案,設置路由,最終它的工作完美! 特別感謝您對link_to幫手的評論! –