Cześć! Od paru godzin walczę z gemem acts-as-taggable-on oraz Kaminari.
Tagowanie działa - mogę dodawać wpisy i określić jakie tagi chce, Kaminari też działa, wyświetla tylko 2 wpisy na strone - wszystko jest ok - problem pojawia się dopiero gdy z listy tagów wybiorę jeden i chcę zobaczyć wszystkie wpisy z takim samym tagiem - pojawia się błąd:
undefined method `current_page' for #<ActiveRecord::Relation:0x00000004c8a380>
Problem znika gdy z pliku app/views/posts/index.html.erb skasuję <%= paginate @posts %>.
posts_controller.rb
[code] def index
if params[:tag]
@posts = Post.tagged_with(params[:tag])
else
@posts = Post.all
@posts = Post.order(“created_at DESC”)
@posts = Kaminari.paginate_array(@posts).page(params[:page]).per(2)
end
respond_to do |format|
format.rss { render :layout => false }
format.html # index.html.erb
format.json { render json: @posts }
end
end[/code]
models/post.rb
[code]class Post < ActiveRecord::Base
attr_accessible :content, :name, :created_at, :title, :tag_list
acts_as_taggable
validates :name, :presence => true
validates :title, :presence => true,
:length => { :minimum => 5 }
has_many :comments
end[/code]
routes.rb
[code]Blog::Application.routes.draw do
resources :pages, except: :show
ActiveAdmin.routes(self)
devise_for :admin_users, ActiveAdmin::Devise.config
get ‘tags/:tag’, to: ‘posts#index’, as: :tag
resources :posts do
resources :comments
end
get ‘:id’, to: ‘pages#show’, as: :page
root :to => ‘posts#index’
end[/code]
Czy tu jest coś źle? Robiąc to korzystałem z dwóch railscastów i wiki poszczególnych gemów, podałem kod wszystkich plików które modyfikowałem.