En regardant votre route, vous pourriez être le croisement de deux choses différentes. Qu'est-ce que vous paginez? S'il s'agit de profils, il n'est pas nécessaire de fournir un identifiant. Supposons que vous essayez de paginer des profils. Votre itinéraire ressemblerait à ceci:
map.connect '/profiles/browse/:page',
:controller => 'profiles',
:action => 'index',
:page => /\d+/
Et votre action de contrôleur ressemblerait à ceci:
def index
@profiles = Profile.paginate :page => params[:page]
end
Si vous essayez quelque chose de nid dans les profils, disent parcourant les photos d'un profil, vous aurez besoin de le faire plus comme ceci:
map.connect '/profiles/:id/browse/:page',
:controller => 'profiles',
:action => 'index',
:id => /\d+/,
:page => /\d+/
avec votre contrôleur comme ceci:
def index
@profile = Profile.find(params[:id])
@pictures = @profile.pictures.paginate :page => params[:page]
end
Faites-moi savoir si cela fonctionne.
MISE À JOUR:
Vous avez énuméré dans les commentaires que /profile/1/
fait référence propre profil de l'utilisateur. D'abord, c'est dangereux parce que vous ne voulez pas que les gens changent quel profil l'application pense qu'ils sont, juste en changeant ce numéro d'identification à la main. Faites confiance à la méthode current_user
que votre authentification vous donne.
Cependant, en utilisant votre configuration actuelle comme l'exemple, voici ce qu'elle ressemblerait à ceci:
map.connect '/profiles/:id/browse/:page',
:controller => 'profiles',
:action => 'browse',
:id => /\d+/,
:page => /\d+/
avec votre contrôleur comme ceci:
def browse
@profile = Profile.find(params[:id])
@profiles = Profile.paginate :page => params[:page]
end
Laissez-moi savoir si vous avez encore des questions .
MISE À JOUR 2
Afin d'obtenir une belle link_to
avec cela, changer la route vers une route nommée:
Maintenant, vous pouvez appeler link_to
comme ceci:
link_to profile_browse_path(:id => 1, :page => 10)
Hey, browse est un membre de la ressource de profils. Vous ne savez pas si cela change quelque chose? – Brian
Ainsi, lorsqu'un utilisateur est connecté au profil/1 représente l'utilisateur. profile/1/browse signifie simplement que l'utilisateur est dans la section de navigation – Brian
Qu'est-ce qu'ils consultent, qui doit être paginé? –