gpt4 book ai didi

ruby-on-rails-3 - 使用 Thinking Sphinx Facet 深入挖掘

转载 作者:行者123 更新时间:2023-12-01 08:24:32 26 4
gpt4 key购买 nike

我有一个应用程序,它使用 thinking sphinx 进行搜索,我可以让构面正确显示在 View 中,但链接没有返回具有给定选项的结果列表。这是我为模型 Controller 和 View 编写的代码:

Controller :

@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

View :

<% @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 =>”散列的值部分包含构面选项,我可以获得正确的结果。但是我不确定如何配置链接以便它执行另一次搜索,并将该值插入到 Controller 代码中。任何帮助,将不胜感激。

最佳答案

乍一看,好像是这条线

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

应该改为阅读

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

有了这些变化:

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

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

听起来您需要执行以下操作:

  1. 将 Thinking Sphinx 参数嵌入 link_to标签。
  2. 在 Controller 中,使用逻辑来处理参数,然后将它们添加到 :with 中散列。

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

关于ruby-on-rails-3 - 使用 Thinking Sphinx Facet 深入挖掘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10770140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com