我有一个应用程序,它使用思维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 %>
如果我在“:with =&gt;”的值部分中包含构面选项,我可以得到正确的结果哈希值。但是我不确定如何配置链接以便它执行另一次搜索,并将该值插入控制器代码中。任何帮助,将不胜感激。
答案 0 :(得分:0)
乍一看,它看起来像是
<li><%= link_to "#{option} (#{count})", :params => {facet => option, :page => 1}</li>
应改为阅读
<li><%= link_to "#{option} (#{count})", :params => {:facet => option, :page => 1} %></li>
通过以下更改:
<%=
没有结束标记:params
哈希在:
facet
但是我不确定这是否能回答你的问题。
听起来你需要做以下事情:
link_to
标记。:with
哈希。逻辑可能包括错误检查,格式化,验证,等等。