在我的routes.rb
中,我有这个嵌套资源:
resources :foos do
resources :bars, except: :show
end
在我的foos/show.html.erb
中,我<%= render @foo.bars %>
将bars/_bar.html.erb
部分文件呈现为列出属于bars
的所有foo
。
在我的foos_controller.rb
:
def show
@foo = Foo.find(params[:id])
@bars = @foo.bars.paginate(page: params[:page], per_page: 25)
end
然后在foos/show.html.erb
,我有<%= will_paginate @bars %>
。
这就是问题所在。那么假设我有50个小节,预期的结果应该是2页,每页有25个小节吧?但我的每一页都显示了所有50个小节。
编辑:我解决了。解决方案是将<%= render @foo.bars %>
更改为<%= render @bars %>
,因为我已在@bars
中拥有foos_controller.rb
变量。