我正在关注此视频广播#278 Search with Sunspot以实施与太阳黑子的分面搜索,但我收到此错误undefined method
facet'为nil:NilClass`
这是我的文章模型
searchable do
text :title, boost: 4
text :content
time :created_at
string :publish_month
end
def publish_month
created_at.strftime("%B %Y")
end
这是我的搜索控制器
def搜索
@articles = Sunspot.search(article) do
fulltext params[:query]
with(:created_at).less_than(Time.zone.now)
facet(:publish_month)
with(:publish_month, params[:month]) if params[:month].present?
end
respond_to do |format|
format.html { render :action => "search" }
end
end
这是我对方面的看法
<div id="facets">
<h3>Published</h3>
<ul>
<% for row in @search.facet(:publish_month).rows %>
<li>
<% if params[:month].blank? %>
<%= link_to row.value, :month => row.value %> (<%= row.count %>)
<% else %>
<strong><%= row.value %></strong> (<%= link_to "remove", :month => nil %>)
<% end %>
</li>
<% end %>
</ul>
</div>
答案 0 :(得分:0)
你有没有机会在你的视图中提到@articles而不是@search?
尝试将该行更改为:
<% for row in @articles.facet(:publish_month).rows %>