轨道上的红宝石 3 - 轮胎传递参数以建模并在搜索中使用此参数



我试图从我的 Tire 搜索结果中排除 current_user.id,但无法弄清楚如何将参数传递给 Tire 并使用它而不是固定值进行搜索。如何将 current_user.id 传递给模型并在搜索结果中排除它?

活动记录方式:

Profile.where("user_id != ?", current_user.id)

我的轮胎搜索块:

if params['people']
  tire.search(load: true, page: params[:page], per_page: 20, :default_operator => 'AND') do
    query do
      boolean do
        must_not { string 'user_id: 1' } <== this works hardcoded
        must_not { string 'user_id: < instead of 1 user current_user.id pass in true params?' }          
      end
    end
    to_curl
  end
end

您是否尝试过使用自述文件中提到的"命令式样式"https://github.com/karmi/tire?这是自述文件中的直接引用:

search = Tire::Search::Search.new('articles')
search.query  { string('title:T*') }
search.filter :terms, :tags => ['ruby']
search.sort   { by :title, 'desc' }
search.facet('global-tags') { terms :tags, :global => true }
# ...
p search.results

也许"声明式"样式在彼此内部折叠到许多块,然后上下文(current_user)丢失。您究竟是如何在布尔条件下插入current_user_id的?

相关内容

  • 没有找到相关文章

最新更新