Ein Benutzer has_many Kartoffeln. Kartoffeln gehören zu einem Benutzer. Eine Kartoffel hat viele Macken. Quirks gehören zu Kartoffeln.Paginieren Sie viele has_many gehört zu Beziehungen in Rails mit will_paginate
Ich möchte meine Kartoffeln und die damit verbundenen Macken zusammen in meiner Benutzer anzeigen und Paginate mit dem Juwel wille_paginate wie unten angezeigt.
potato_names -> sweet potato russet potato mystery potato
quirk_name -> shiny rough purple
quirk_name -> big brown orange
quirk_name -> old medium blue
Meine Benutzer-Controller vorge Paginierung
UsersController
def show
@user = User.find(params[:id])
@potatoes = @user.potatoes
@quirks = Quirk.where(potato: @potatoes)
end
ich Kartoffeln durch eine Änderung der Userscontroller Paginieren kann -
@potatoes = @user.potatoes.paginate(page: params[:page])
und Benutzer - show.html.erb
<%= @potatoes.potato_name %>
<%= will_paginate @potatoes %>
aber wie kann ich g und quickt, um mit den Kartoffeln zu paginieren, so dass, wenn ich weiter klicke, ich die Kartoffeln und Macken bekomme, die mit dem folgenden Satz verbunden sind? Anfangs bekam ich Kartoffeln zu paginieren und Macken, nur um sich zu zeigen, weshalb ich Macken vorher nicht gezeigt habe. Ich verstand den .pagination Anruf nicht gut genug.
Ich kann aufrufen: param_name, um den Parameternamen für die Seitenzahl anzugeben, und stellen Sie sicher, dass es ordnungsgemäß funktioniert.
kann ich
tunUsersController
def show
@user = User.find(params[:id])
@potatoes = @user.potatoes.paginate(page: params[:potatoes_page])
@quirks = Quirk.where(potato: @potatoes).paginate(page: params[:quirks_page])
end
show.html.erb
<%= render @potatoes %>
<%= render @quirks %>
<%= will_paginate @potatoes, :params_name => 'potatoes_page' %>
<%= will_paginate @quirks, :params_name => 'quirks_page' %>
_potato.html.erb
<%= potato.potato_name %>
_quirk.html.erb
Das sollte mir Kartoffeln und Macken separat Paging geben ... Aber wenn ich Kartoffeln, Kartoffeln paging und Macken ist verschwinden. Wenn ich auf der nächsten Seite die Seite quirle, bleiben die Kartoffeln gleich und nur die Macken ändern sich.
Ich glaube, dass der oben genannte Fehler liegt, weil ich in der Kartoffeln-Abfrage Paginierung aufrufen, und dann die Kartoffeln Abfrage verwenden, um die Paginierung erneut aufzurufen.
Bitte beschreiben Sie, was passiert, wenn Sie die Macken auflisten und was stattdessen passieren soll. – Raffael
Ich fügte hinzu, was ich getan habe, und ich bearbeite es, während ich einer Lösung näher komme. – whatsinahat