2015-02-18 13 views
0

Как добавить разбивку на страницы в feed_entries в категории?Как добавить разбивку на страницы в Каминари

Я использую Kaminari, Mongoid 4, рельсы 4

Category.rb

class Category 
    def feed_entries 
    FeedEntry.in(source_id: sources.map(&:id)) 
    end 
end 

show.html.erb

<% @category.feed_entries.includes(:source).each do |feed_entry| %> 
    <%= link_to feed_entry.name, feed_entry %> 
    <%= feed_entry.source.title %> 
<% end %> 

Модели

class Category 
    include Mongoid::Document 
    field :name, type: String 
    has_many :sources, dependent: :destroy 
end 

class FeedEntry 
    include Mongoid::Document 
    field :name, type: String 
    belongs_to :source, touch: true 
    validates :source_id, presence: true 
end 

class Source 
    include Mongoid::Document 
    field :title, type: String 
    has_many :feed_entries, dependent: :destroy 
    belongs_to :category, touch: true 
end 

ответ

0

Нечто подобное должен работать

в вас категориях контроллер

def show 
    @category = Category.find(params[:id]) 
    @feed_entries = @category.sources.includes(:feed_entries).page(params[:page]) 
end 

Ввиду

<%= @feed_entries.each do |feed_entry| %> 
    <%= link_to feed_entry.name, feed_entry %> 
    <%= feed_entry.source.title %> 
<% end %> 
<%= paginate @feed_entries %> 
+0

оленья кожа»работа в category_controller.rb ** неопределенный метод' источников для категории: Class ** Ошибка –

+0

WHT в вы получаете? – Sontya

+0

undefined method 'sources 'для Категория: Класс –

Смежные вопросы