Ruby on rails 3 深入思考斯芬克斯面

Ruby on rails 3 深入思考斯芬克斯面,ruby-on-rails-3,search,thinking-sphinx,faceted-search,Ruby On Rails 3,Search,Thinking Sphinx,Faceted Search,我有一个应用程序,它使用thinking sphinx进行搜索,我可以让facet正确显示在视图中,但是链接不会返回带有给定选项的结果列表。以下是我为模型控制器和视图编写的代码: 控制员: @facets = Load.facets( (params[:trucks]), :page => (params[:page] || 1), :per_page => 25, :geo => degrees_to_radians(@location), :with =

我有一个应用程序,它使用thinking sphinx进行搜索,我可以让facet正确显示在视图中,但是链接不会返回带有给定选项的结果列表。以下是我为模型控制器和视图编写的代码:

控制员:

@facets = Load.facets(
  (params[:trucks]),
  :page => (params[:page] || 1),
  :per_page => 25,
  :geo => degrees_to_radians(@location),
  :with => { "@geodist" => 0.0..miles_to_meters(params[:radius].to_i) },
  :sort_mode => :expr,
  :order => sort_by_select(params[:sort])
  )
  @results = @facets.for
模型:

define_index do 
  indexes commodity
  indexes truck_type
  has latitude, longitude
  has distance, :facet => true
  has weight, :facet => true
  has current_asking_price, :facet => true
  has created_at, :facet => true
  where sanitize_sql(["active", true])
  set_property :delta => :delayed
end
观点:

<% @facets.each do |facet, facet_options| %>
  <h5><%= facet %></h5>
  <ul>
    <% facet_options.each do |option, count| %>
    <li><%= link_to "#{option} (#{count})", :params => {facet => option, :page => 1}</li>
    <% end %>
  </ul>
<% end %>

  • {facet=>option,:page=>1}

如果我在“:with=>”散列的值部分包含facet选项,我可以得到正确的结果。但是,我不确定如何配置链接,以便它执行另一次搜索,并将该值插入控制器代码。任何帮助都将不胜感激

乍一看,它就像一条线

<li><%= link_to "#{option} (#{count})", :params => {facet => option, :page => 1}</li>
  • {facet=>选项:page=>1}
  • 应该改为

    <li><%= link_to "#{option} (#{count})", :params => {:facet => option, :page => 1} %></li>
    
  • {:facet=>选项,:page=>1}%>
  • 随着这些变化:

    •