первый раз постер. Я пытаюсь сортировать таблицу пользователей, используя драгоценный камень Ransack и Kaminari для разбивки на страницы. Когда я использую сортировку имени, id и т.д., Но когда я пытаюсь установить связь с posts_count, сортировка прерываний и не будет работать. Примечание: в представлении "u.posts.count" работает правильно. Я пробовал пользовательские области в модели пользователей и создавал настраиваемые объекты для параметров поиска, но ничего не работает. Я думаю, что у меня возникают проблемы либо в области по умолчанию, либо в объекте @search, не имеющем данных. Нужна помощь!
Вот некоторые соответствующие фрагменты:
модели /user.rb
has_many :posts, :dependent => :destroy
модели /post.rb
belongs_to :user
default_scope :order => 'post.created_at DESC'
Контроллеры /users _controller.rb
def index
@title = "User Index"
@search = User.search(params[:q]) # Ransack
@total_users = User.all.count
# .per(10) is the per page for pagination (Kaminari).
@users = @search.result.order("updated_at DESC").page(params[:page]).per(10) #This displays the users that are in the search criteria, paginated.
end
просмотров/пользователей/index.html.erb
..
<%= sort_link @search, :posts_count, "No. of Posts" %> #Sort links at column headers
..
<% @users.each do |u| %> #Display everything in the table
<%= u.posts.count %>
<% end %>