我正在尝试使用sunspot
gem在我的Rails 4.1应用中设置搜索。我有一个名为Post的模型,它添加了searchable
块
class Post < ActiveRecord::Base
searchable do
text :description, :body
end
end
然后我在我的控制器中执行搜索
def search
if params[:search]
@search = policy_scope(Post).search do
fulltext params[:search]
end
@posts = @search.results
render :index unless @posts.empty?
flash[:error] = "No results found"
redirect_to(request.referrer || root_path)
end
end
我收到以下错误
unable to find scope Sunspot::Search::PaginatedCollectionPolicy::Scope ...
我可能做错了什么?
答案 0 :(得分:0)
请创建app / policies / paginated_collection_policy.rb:
class Sunspot::Search::PaginatedCollectionPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
end
end
end
注意:模块太阳黑子和模块搜索都是在gem Sunspot中创建的。由于Ruby模块和类都是开放的(可附加的),因此无需重新创建它们。只需附加所需的Pundit策略类。