J'ai trois modèles pertinents. Un utilisateur qui has_many :photos
et belongs_to :dorm
, un dortoir qui has_many :users
et has_many :photos, :through => :users
, et une classe de photos qui belongs_to :users
et belongs_to :dorm
.Rails Pagination avec Kaminari avec has_many: à travers la relation
Je veux paginer toutes les photos qui sont dans un dortoir avec kaminari. Je l'ai dans mon Gemfile et ai couru la commande de paquet.
Dans mon dorms_controller:
@dorm=Dorm.find(params[:id])
@[email protected](params[:page]).per(3)
et à mon avis show Dorm (en fait dans une partielle, _index.html.erm rendu dans la vue du spectacle):
<%= paginate @photos %>
Cela me donne la erreur: undefined method 'page' for #<Class:0x107483d68>
.
Je sais pourquoi cela ne fonctionne pas (ne devrait pas être appelé une classe), mais je ne sais pas comment le faire fonctionner ...
Si je fais Dorm.find (1) .photos.page (1) cela fonctionne. Donc ça doit être quelque chose avec params [: id] mais je ne sais pas pourquoi ça ne marcherait pas. – Rymo4
gratter cela, ce n'est pas params [: id]. Si je trouve juste (1) à la place, j'obtiens la même erreur. – Rymo4
maintenant j'ai redémarré mon serveur et cela fonctionne ... je ne sais pas pourquoi parce que je l'avais déjà redémarré. étrange, mais fermé néanmoins. Merci. Mal vous donner un accord même s'il s'est un peu fixé. – Rymo4