我有一个应用程序,它使用thinking进行搜索,我可以让facets正确地显示在视图中,但链接不会返回带有给定选项的结果列表。下面是我为模型控制器和视图编写的代码:
控制器:
@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 =>“散列的值部分包含facet选项,我可以得到正确的结果。然而,我不确定如何配置链接,以便它执行另一个搜索,并将该值插入到控制器代码中。任何帮助都将不胜感激。
发布于 2012-06-20 07:07:28
乍一看,它看起来像是这条线
<li><%= link_to "#{option} (#{count})", :params => {facet => option, :page => 1}</li>应该改为读取
<li><%= link_to "#{option} (#{count})", :params => {:facet => option, :page => 1} %></li>通过这些更改:
<%=没有结束的tag:params哈希在facet之前缺少符号标识符:
然而,我不确定这是否回答了你的问题。
听起来你需要做以下事情:
link_to标记中。:with散列中。逻辑可能包括错误检查、格式化、验证等。
https://stackoverflow.com/questions/10770140
复制相似问题