我正在关注https://github.com/amatsuda/kaminari_example/commits/ajax。我正在使用 kaminari 0.12.4。(我检查了 0.13.0 并且不起作用)。没有 ajax 确实可以正常工作。
我在users_helper.rb
module UsersHelper
def link_to_next_page(scope, name, options = {}, &block)
param_name = options.delete(:param_name) || Kaminari.config.param_name
link_to_unless scope.last_page?, name, {param_name => (scope.current_page + 1)}, options.merge(:rel => 'next') do
block.call if block
end
end
end
我的users_controller中有下一个方法:
def followers
@user = User.find(params[:user])
@followers = @user.followers_by_type("user")
@followers = Kaminari.paginate_array(@followers).page(params[:page]).per(1)
respond_to do |format|
format.js
format.html { render :layout => 'panel'}# followers.html.erb
format.json { render json: @followers }
end
我的follower.index.html.erb中有下一个:
<%= render 'followers' %>
<div id="paginator">
<%= link_to_next_page @followers, 'Next Page', :remote => true, :url => { :controller => "users", :action => "followers"} do %>
<span>No More Pages</span>
<% end %>
</div>
我有部分_followers.html.erb
<% for followers in @followers%>
<div class="followers">
<%= followers.username %>
</div>
<% end %>
我在followers.js.erb
//$('#box').html('<%= escape_javascript render(:partial => 'followers') %>');
//$('#box #paginator').html('<%= escape_javascript(paginate(@followers, :remote => true).to_s) %>');
alert ('I am follower.js.erb file');
我必须看到一个警报但没有看到。警报在哪里?:O。文件 index.js.erb 什么也得不到。哪里有问题?
在我的日志中,js.erb 工作正常:
Started GET "/maserranocaceres/followers?page=2" for 127.0.0.1 at 2012-01-31 05:26:44 -0800
Processing by UsersController#followers as JS
Parameters: {"page"=>"2", "user_id"=>"maserranocaceres"}
Rendered users/_followers.html.erb (1.1ms)
Rendered users/followers.html.erb (28.7ms)
Completed 200 OK in 38ms (Views: 34.5ms | Solr: 0.0ms)