Tag: filter

Elasticsearch – 具有多匹配的范围filter?

我正在使用弹性搜索来过滤服装: def self.search(query) __elasticsearch__.search( { query: { function_score: { query: { multi_match: { query: query, fields: [‘description^30′,’material^10’] }, }, field_value_factor: { field: “purchased” }, } } } ) 结束 问题是我似乎无法按照这样购买它们的次数来过滤它们: range: { purchased: { gte: 1000 } } 无论我把它放在哪里,都会给我以下错误: [400] {“error”:{“root_cause”:[{“type”:”parsing_exception”,”reason”:”[range] malformed query, expected [END_OBJECT] but found [FIELD_NAME]”,”line”:1,”col”:88}],”type”:”parsing_exception”,”reason”:”[range] malformed query, expected [END_OBJECT] but found [FIELD_NAME]”,”line”:1,”col”:88},”status”:400} […]

ActiveAdmin:按子对象的计数进行筛选

在一个严重依赖ActiveAdmin的Ruby on Rails应用程序中,我有一个赞助商模型,它与赞助模型相关联。 一个sponsor可以赞助许多孩子,因此一个sponsor可以有很多sponsorships 。 我想做的是,能够在赞助商索引页面上按赞助商数量过滤赞助商。 因此,举例来说,我只希望看到那些拥有多个赞助商或少于五个赞助商的赞助商,依此类推。 你明白了。 在Ruby中,我想要一个filter,它可以做以下几行: Sponsor.all.select { |sp| sp.sponsorships.count > 1 } 事实上,我发现这很难做到。 默认的ActiveAdminfilter处理特定模型(或其子模型)的属性,而不是自定义方法,而我需要通过自定义方法精确过滤。 所以这是ActiveAdmin的组合视图/控制器sponsor.rb文件中的filter: filter :sponsorships_count, label: ‘Sponsorships’, as: :numeric 其中:sponsorships_count不是赞助商模型的属性。 我试图使用Ransacker(似乎有些人已经成功使用它 ),但无法弄清楚正确的语法。 其他人有幸将filter指定为自定义(使用as: custom语法,例如此处并提供模型范围的名称作为filter名称),但这对我不起作用(该应用程序使用ActiveAdmin版本1.0.0。据报道,这种方法不适合这种方法)。 有人帮忙吗?

使用跨模型范围在索引页面上过滤表单

我想使用一个表单来过滤索引页面,该表单使用复选框进行过滤而不刷新页面。 这是Users索引,但我根据Profile数据进行过滤。 我是编程的初学者,并且已经设法将我正在尝试做的一些事情拼凑起来,但需要帮助将它们连接起来。 (供参考,有关我使用本文的范围的指导以及我使用本文的表单/ ajax / jQuery。) User.rb: class User :destroy scope :profiles, lambda { joins(:profiles).group(“users.id”) & Profile.id } end Profile.rb: class Profile < ActiveRecord::Base belongs_to :user class << self def search(q) [:high_school, :higher_ed, :current_city, :job_title, :hometown, :subject].inject(scoped) do |combined_scope, attr| combined_scope.where("profiles.#{attr} LIKE ?", "%#{q}%") end end end end UsersController: class UsersController [conditions, params], :offset […]

将索引中的meta_search gem与现有的地理编码器gem搜索(rails)集成

我已经使用地理编码器实现了基于位置的搜索,并且无法集成meta_search gem。 我正在尝试将meta_search集成到我的object_controller index以允许用户按对象过滤和排序搜索结果:attributes已经按位置搜索。 我的object_controller: def index if params[:search].present? @objects = Object.near(params[:search], 50, :order => :distance).paginate(:page => params[:page], :per_page => 9) else @objects = Object.paginate(:page => params[:page], :per_page => 9) end end 知道如何最好地将@search集成到meta_search gem所需的索引中吗? 以下是meta_search github为索引推荐的内容: def index @search = Article.search(params[:search]) @articles = @search.all # load all matching records # @articles = @search.relation # Retrieve […]

从rails日志中过滤部分或全部请求URL

Rails提供filter_parameter_logging来过滤rails日志中的敏感参数。 如果您有一个JSONP API,URL中可能会出现一些敏感信息。 有没有办法从日志中过滤请求URL?

Rails auto_complete标记搜索filter

尝试实现rails auto_complete插件以帮助用户选择主页上没有出现的标签,因为可能会有数百个标签,并且只能显示一小部分标签。 我的导航工作方式是这样的:我从一个类别显示页面开始,显示该类别中的所有文章。 当用户点击标记时,会在url中显示标记filter,如下所示: http://localhost:3000/categories/Stories?tag=scary 这将显示故事类别中标记为“可怕”的所有文章。 由于“可怕”不是一个流行的标签,它不会出现在主页上,但如果你把它放入自动填充文本字段,“scary”就会显示出来。 我希望提交标记呈现与上面相同的URL。 但我得到的东西有点不同: http://localhost:3000/categories/ShortStories?tag[name]=scary 不幸的是,这个filter不会返回任何东西,因为那个讨厌的[名字]潜入那里。 这是我自动完成的控制器代码: class CategoriesController < ApplicationController auto_complete_for :tag, :name 和观点 ‘get’ do %> 15 } %> nil %> :name似乎是必需的,因为auto_complete需要指定一个列名,但是当我点击提交时我想把它从url中删除。 有任何想法吗?

Rails before_filter和动作识别

我想在我的控制器中编写一个before_filter来识别接下来要执行的操作。 这是出于授权目的(这有点像role_requirement插件那样做..) 例如:如果用户键入此URL http://localhost:3000/users ,则默认为用户/索引操作。 在我的用户控制器中,我有一个前置filter方法说’check_permission’,我希望该方法将’index’作为动作。

从下拉列表中筛选索引页面上的结果

我正在使用rails 3,我有两个模型,场地和区域,每个区域有很多场地,每个场地都属于一个区域。 我正在尝试找到一种方法来过滤场地索引中显示的场地记录,在同一页面的下拉框中选择了哪个区域。 下拉框当前显示我想要的所有区域记录,但是在选择区域并单击提交按钮后,我希望索引页面重新加载,并且仅显示场地记录的部分区域,其区域与在下拉框。 我在模型中的示波器在rails控制台中调用时显示正确的场地,或者通过将控制器中的def索引更改为@venues = Venue.north / venue.south / venue.west。 我只是想办法让所有场地都显示为默认值,然后根据从表格中选择的区域调用每个范围。 我现在并不打算使用AJAX,我只想了解如何以尽可能简单的方式完成它并且不使用sphinx / thinking_sphinx。 模型: class Venue “2”) scope :west, where(:area_id => “3”) scope :south, where(:area_id => “4”) end 查看:(场地index.html.erb) ‘venue’, :collection => @venues %> 控制器: class VenuesController < ApplicationController def index @venues = Venue.all end end 任何帮助深表感谢。

为什么在around_filter或after_filter中的redirect_to不起作用?

如何使redirect_to在这些filter中起作用? 我想改变 def start …. redirect_to index end def end … redirect_to index end 至 around_filter :around def around … yield redirect_to index end def start .. end def stop … end

Rails通过多个标记充当filter上的标记

我有一个模型,任务,可以用gem标记为可标记的行为。 路线:获取’mainpage /:tag’,到:’mainpage #index’,如::: tag 现在,当您单击标记时,它会将您带到具有该标记的所有任务。 我想要做的是,一旦你进入标签页面,点击其他标签会进一步使用点击的标签名称过滤结果。 防爆。 在页面上显示标签帐单(主页/帐单): 电缆(标记为:电视,信用卡。账单) 椅子(标有:信用卡,账单) 桌子(标记:家具,账单,沙拉) 当我在账单标签页面上点击“信用卡”标签时,我想让它只显示那些既是账单标签又是信用卡标签的任务。 如何做到这一点,我有点失明。 感谢您的任何帮助或建议