私はページナンバー(カミナリ経由)の通知センターを作成しようとしています のようなfacebook。ヘッダーのカミナリページネーションの使い方
このセンターでは、どのページからでもページ区切りを表示したい(このセンターはヘッダーファイルに含まれています)。
ここでコードを書きましたが、home.htmlにアクセスすると適切に表示されます しかし、そのページングは他のページでは機能しません(例:views/test/test.html.erb)。 おそらく、ajaxはjsファイルを読むことができないようですので、test.js.erbファイルをviews/testに置くと動作します。
操作と保守の観点からは、それは望ましくない方法です。
js.erbファイルを1つだけ使用してページ番号を読み取るにはどうすればよいですか?あなたのご協力ありがとうございます
ソースコードは以下のとおりです。
モデル
APP /モデル/ 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.each do |item| %>
<div><%= item.name %></div>
<% end %>
は、あなたの答えをありがとう! あなたのソリューションに加えて、ルーティングをセットアップして、ついにそれは完全に機能しました! link_toヘルパーへのあなたのコメントに特別なおかげで行く! –