Ruby/Rails - Kaminari nie jest zdefiniowane metodą paginacji błędów


Nie jestem pewien, co zrobiłem, ale Kaminari zaczął zachowywać się dziwnie w mojej aplikacji.
W moim kontrolerze:
@producers = Producer.order(:name).page(params[:page])

widok:
<%= paginate @producers %>

prowadzi do:
undefined method `num_pages' for #<ActiveRecord::Relation:0x000001026e6308>

Jeśli dodam .per do mojego kontrolera:
@producers = Producer.order(:name).page(params[:page]).per(25)

dostaję
undefined local variable or method `per' for #<ActiveRecord::Relation:0x0000010928ef60>

Wreszcie, co dziwne, jeśli przeniosę moje
.order (: name)
na koniec, działa:
@producers = Producer.page(params[:page]).order(:name)

Zakładam, że inny zainstalowany przeze mnie klejnot ma zasięg
strony
lub metodę, która powoduje problem?
Podziękować.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Cóż, właśnie to rozgryzłem.
Zainstalowałem to

aktywny administrator
http://activeadmin.info/... Zainstalował
will_paginate
jako zależność.
W ostatnich zatwierdzeniach dla
Active Admin
will_paginate
został zastąpiony przez
kaminari
.
Zmodyfikowałem mój plik Gemfile, aby pobrać
Active Admin
z github.
will_paginate
został usunięty z mojego pakietu i wszystko działa teraz. Możesz to zrobić, umieszczając następujący wiersz w swoim pliku gem:
gem "activeadmin", git: "[url=https://github.com/gregbell/active_admin"]https://github.com/gregbell/active_admin"[/url]
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Miałem ten sam problem z innym klejnotem, który wymagał will_paginate. Problem został rozwiązany za pomocą tego fragmentu kodu, który został pobrany ze strony wiki active_admin:
if defined?(WillPaginate)
module WillPaginate
module ActiveRecord
module RelationMethods
def per(value = nil) per_page(value) end
def total_count() count end
end
end
module CollectionMethods
alias_method :num_pages, :total_pages
end
end
end

Umieść go w inicjatorze.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Aby rozwiązać problem, włącz
gem 'kaminari'
i usuń
will_paginate
. Ponieważ użyłem już
will_paginate
, właśnie zaktualizowałem moje obecne połączenia do will_paginate dla kaminari. Są bardzo podobne do implementacji i dość łatwe do modyfikacji.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wypróbowałem rozwiązanie johnnycakes, ale wciąż dawało mi to zbyt głębokie błędy poziomu stosu dash (podobne

https://github.com/gregbell/ac ... s/157
https://github.com/gregbell/ac ... s/157
)
Rozwiązaniem, które znalazłem, było wskazanie tej wersji:
gem 'activeadmin', :git => 'git://github.com/gregbell/active_admin.git', :ref => '811f286fda3b6dfa91aa'

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się