Играя си с RSpotify Gem https://github.com/guilhermesad/rspotify Сега опитах за да добавите пагинация с помощта на will-paginate gem. Както можете да видите на моя сайт тук https://rubyjukebox.herokuapp.com/, след като потърсите изпълнител и има повече от 8, пагинацията работи добре.
В моя artists_controller.rb имам следния код:
def index
if !params[:artist_name].empty?
@artists = RSpotify::Artist.search(params[:artist_name]).paginate(:page =>params[:page], :per_page => 8)
else
redirect_to root_path
end
end
И в index.html.erb имам:
<%= will_paginate @artist, renderer: BootstrapPagination::Rails %>
Това изглежда работи добре. Но когато изберете изпълнител и бъдете пренасочени към списъка с албуми, страницата се показва, но показва всеки наличен албум на всеки сайт, вместо да показва само 5 албума на всеки сайт.
Отново в моя artists_controller.rb имам:
def show
@artist = RSpotify::Artist.find(params[:id])
@album = @artist.albums(country: 'DE').paginate(:page => params[:page], :per_page => 5)
end
И в моя show.html.erb имам:
<%= will_paginate @album, renderer: BootstrapPagination::Rails %>
Някакви идеи къде ми е грешката?
<% @artist.albums(country: 'DE').each do |album| %>
преди, но точно това дефинирах в @albums. Така че работният код изглежда така:<% @album.each do |album| %>
- person nucci   schedule 26.02.2015