在我的下半年度过这个希望之后,只需要一些新鲜的眼睛。在trying to set a default使用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
使用活动记录信誉,并希望默认加载按最高投票排序,如您所见。也许有更好的方法来实现页面加载排序的投票并允许搜索搜索?此刻彻底迷茫。
答案 0 :(得分:2)
而不是 @ search.sort 尝试将其分配给另一个变量。而不是结果使用结果
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