我正在尝试使用SearchKick将摘录突出显示到我的应用中,但是Rails一直告诉我我的对象类型错误。
我的控制器:
def search
@articles = Article.text_search(params[:q])
...
我的观点:
- articles.with_details.each do |article, details|
...
p.mb-15.excerpt
= details[:highlight][:content]
我的模特:
searchkick highlight: [:content]
def self.text_search(query)
if query.present?
search(
query,
fields:
[
"title^10",
"h1^5",
"meta_description",
"content"
],
limit: 5,
highlight: {
fields: {content:
{fragment_size: 100}
}
}
)
else
[]
end
end
答案 0 :(得分:0)
我猜你从模型中的其他分支获得[]
作为text_search结果:
else
[]
end
所以也许你可以在你的视图和控制器中做这样的事情来逃避这样的错误:
<强>控制器:强>
articles = Article.text_search(params[:q])
@detailed_articles = articles.empty? ? [] : articles.with_details
查看:强>
- @detailed_articles.each do |article, details|
...
p.mb-15.excerpt
= details[:highlight][:content]