Пользовательская сортировка Ransack по умолчанию

Потратив на это вторую половину дня, надеюсь, мне просто нужен свежий взгляд. Получение этой ошибки при попытке установить сортировку по умолчанию для моего индекса контроллер, использующий ransack, и я не уверен, почему

undefined method `split' for #<Post:0x007fabedac69a8>

Вот мой контроллер

class PostsController < ApplicationController
  def index
    @search = Post.search(params[:q])
    @search.sorts = Post.find_with_reputation(:votes,:all, order: "votes desc") if @search.sorts.empty?
    @posts = @search.results
  end
end

Используя активную репутацию записи, вы хотите, чтобы загрузка по умолчанию сортировалась по наибольшему количеству голосов, как вы можете видеть. Может быть, есть лучший способ добиться того, чтобы страница загружалась с отсортированными голосами и позволяла выполнять поиск? На данный момент в полной растерянности.


person computer_smile    schedule 02.09.2013    source источник
comment
@search.sorts что это?   -  person Rajarshi Das    schedule 19.09.2013
comment
find_with_reputation где это написано не могли бы вы выложить ?   -  person Rajarshi Das    schedule 19.09.2013


Ответы (1)


Вместо @search.sort попробуйте присвоить его другой переменной. Также вместо results используйте result

class PostsController < ApplicationController
  def index
    @search = Post.search(params[:q])
    @search_r = Post.find_with_reputation(:votes,:all, order: "votes desc") if @search.sorts.empty?
    @posts = @search_r.result
  end
end
person Sandip Mondal    schedule 18.09.2013