我有一个表,'jobs'和一个枚举字段'status'。status具有以下枚举集:enumstatus:[:draft,:active,:archived]使用ransack,我如何过滤表,比如说,所有事件记录? 最佳答案 你可以像这样在模型中声明自己的掠夺者:ransacker:status,formatter:proc{|v|statuses[v]}do|parent|parent.table[:status]end然后您可以使用默认的搜索语法_eq来检查相等性,如下所示:Model.ransack(status_eq:'ac
我在RubyonRails4.1.4上有一个项目,使用来自git://github.com/activeadmin/activeadmin的activeadmin1.0.0.pre,pg0.17.1,PostgreSQL9.3在项目中我有这些模型:类用户has_one:账户类账户属于:用户有很多:project_accountshas_many:项目,:through=>:project_accounts类项目#该项目有一个bool属性'archive'has_many:project_accounts类ProjectAccount属于:帐户属于:项目我有一个任务是在索引页面上实现一个
简而言之,我只想知道是否有办法使用Ransackgem为排序功能设置默认值?即。目前,我在页面加载时有以下内容:但是,我希望在页面加载时具有以下默认值:是否可以通过正确配置RansackGem来做到这一点?一如既往地提前致谢!最好的问候! 最佳答案 这对我有用:@search=Change.search(params[:q])@search.sorts='updated_atdesc'if@search.sorts.empty?注意:一开始我有些头疼,因为我的desc是大写的——这根本行不通。
我的应用程序标题中有一个搜索表单,我想使用此搜索表单在应用程序中搜索多个模型。例如,像/search?q=rails这样的请求应该触发对多个模型的搜索,如Work、Project、用户及其定义的属性。我想使用Ransack,因为我已经在应用程序不同区域的Work模型上使用了它。我想我还不太了解Ransack,文档总是指出您必须定义@q=MyModel.search(params[:q])才能在表单中使用它search_form_for@q。有没有一种方法可以让您不必提前定义特定模型?只需传入参数名称,如search_form_for:q? 最佳答案
我正在为我的Rails应用程序使用ransackgem,但遇到多选问题。我有一份工作和一个公司模型,一个公司有很多工作,一个工作属于一个公司。我想执行职位搜索,以便人们可以看到特定公司的职位,我做了一些研究,显然这应该适用于搜索表单:=search_form_for@qdo|f|=f.collection_select:company_name_cont,Company.all,:id,:name,{:multiple=>true},class:'chosen-it'=f.submit"search"所以在View中我得到了列表(从所选的gem自动完成)但是当我点击搜索时它没有返回任何
我必须使用ransack对数据库进行搜索。数据库中的一些列将数据存储在序列化数组中。我想将存储在数组中的确切数据与用户发送的数据进行匹配以执行搜索(用户的数据也是数组)。例如,在数据库中,一列数据为(c1,c2是测试用例):c1.column_data=[1,2,3,4,5]c2.column_data=[]用户搜索数据(t1、t2、t3为测试用例):t1.user_data=[1]t2.user_data=[1,3]t3.user_data=[1,2,3,4,5]t4.user_data=[]对于c1和t1,t2,t4的情况,它应该返回nomatchfound。对于t3,结果应该是找
我在使用RailsSerchinggem“ransack”时迷路了。我想做的是为关联模型设置复选框。这是我的代码。shows_controller.rbclassShowsControllertrue)@shows=@shows.joins(:tickets)respond_todo|format|format.html#index.html.erbformat.json{renderjson:@shows}endendindex.html.erbAtVenueTicketmaster|显示.rbclassShow门票.rbclassTicket当我在search_field中输入内容
我在Rails3中使用Ransack。我的观点:'width:150px;padding-top:6px;'%>我的模式:create_table"users",:force=>truedo|t|t.string"first_name",t.string"last_name"在我的用户模型上:deffull_name"#{self.first_name}#{self.last_name}"end在控制台上工作。如果我有first_name="Foo",last_name="Bar"的用户,当我使用其中任何一个进行搜索时,我都会得到预期的结果。当我使用full_name="FooBar"
您好,我一直在使用Railcasts#306(http://railscasts.com/episodes/306-elasticsearch-part-1)作为示例在我的应用程序中使用ElasticSearch。在我安装ActiveAdmingem之前一切正常。当我在shops#index页面中传递查询时,出现以下错误:Ransack::Search的未定义方法“each”>:Ransack::Search知道为什么它使用Ransackgem(而不是ElasticSearch)进行搜索吗?下面是与搜索相关的代码片段:商店.rb:classShopshops_controller.rb
我用过RansackGem,Rails4。roles_controllers.rbdefindex@q=Role.ransack(params[:q])@roles=@q.result(distinct:true)end这是模型中的实例方法(role.rb)defuser_countself.users.countend这是我的html表头(Roles/index.html.erb)DescriptionActionstrue,:title=>"EditRole"do%>"DeleteRole",data:{confirm:'Areyousure?'}do%>用户和角色之间存在关系,一