2012-05-26 72 views
3

我有一个应用程序,它使用思维狮身人面像进行搜索,我可以在视图中正确显示构面,但链接不会返回给定选项的结果列表。下面是我对模型控制器和视图代码:深入思考狮身人面像刻面

控制器:

@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 %> 

我可以如果我在“:with =>”散列的值部分中包含构面选项,则可以获得正确的结果。不过,我不确定如何配置链接,以便执行其他搜索,并将该值插入到控制器代码中。任何帮助,将不胜感激。

回答

0

一目了然,它看起来像行

<li><%= link_to "#{option} (#{count})", :params => {facet => option, :page => 1}</li> 

应改为阅读

<li><%= link_to "#{option} (#{count})", :params => {:facet => option, :page => 1} %></li> 

随着这些变化:

  • <%=没有结束标签
  • :params哈希缺少符号l标识符:之前facet

但是我不确定这是否回答您的问题。

这听起来像你需要做到以下几点:

  1. 嵌入思考狮身人面像参数到link_to标签。
  2. 在控制器中,使用逻辑来处理参数,然后将它们添加到:with哈希。

的逻辑可能包括错误检查,格式化,验证,等等