jjzjj

sql - Rails/Ransack : eq_all array of ids

@array=[1,2,3,4]我有以下输入=f.input:organism_id_eq_all,collection:@array但它在ransack中不起作用,我得到以下sql:SELECT...WHERE`organism_id`IN(0)我的代码有什么问题?谢谢。 最佳答案 尝试使用_in而不是_eq_all=f.input:organism_id_in,collection:@array呈现的HTML将在发布时生成一组选定的ID。 关于sql-Rails/Ransack:eq

ruby-on-rails - 如何使用 Ransack gem 在多列中搜索日期和其他值类型?

在我看来,我想使用Ransackgem在具有相同text_field的日期列和字符串列中搜索一个值。我已经知道如何仅使用一个文本字段搜索多个字符串列,但事实证明搜索日期列和字符串列很困难。我在View中尝试过这样的事情:"form-control",:placeholder=>"Search..."}%>Controller中的这个:@q=MyModel.ransack(params[:q])@q.sorts='created_atdesc'if@q.sorts.empty?@my_model=@q.result().order(created_at::desc).page(param

ruby-on-rails - Ransack:使用年龄而不是出生日期

我想使用ransack为包含Users的页面构建高级搜索功能。我有一个从出生日期计算年龄的小方法:defage(dob)now=Time.now.utc.to_datenow.year-dob.year-((now.month>dob.month||(now.month==dob.month&&now.day>=dob.day))?0:1)end这适用于正常显示(如age(@user.date_of_birth))但是在使用search_form_for时我不能这样做:我的问题是:如何在搜索中使用年龄而不是出生日期? 最佳答案 添加

ruby - 使用 Ransack 'eq' 谓词搜索空值

使用带有空白值的“eq”谓词,Ransack将取消该谓词。在您的选择中有一个“全部”选项显然很方便。但是如果我想在我的中添加一个选项怎么办?对于null值也是?说明如何生成SQL查询SELECT*FROMspree_ordersWHEREorder_cycle_id=NULL使用“eq”谓词。我的测试代码(含结果)如下。我想要的是过滤掉Orderorder_cycle_id==nil在哪里Spree::Order.search(order_cycle_id_eq:nil).result.map(&:order_cycle_id)Spree::OrderLoad(2.2ms)SELECT

ruby-on-rails - 从 Meta_search 升级到 Ransack 时出现 "No valid predicate"错误?

我有一个ActiveRecord模型,其方法定义如下:defstateifdeleted?:deletedelse:expiredendend“search_method”在模型中定义为:search_method:state在View中:=form.select:state,{:expired=>'Expired',:deleted=>'Deleted'}.invert,:include_blank=>'All'对于Meta_search,此方法运行良好。但是当我用Ransack替换gem时,我在示例Controller中得到:ArgumentError没有有效的状态谓词。我正在遵循

ruby-on-rails - Ruby on Rails Ransack 日期时间到日期搜索

像carvil一样,我在我的模型中有一个created_at的日期时间,尽管我想要“等于”谓词来比较created_at和一个日期(如“2012-09-26”)。所以我在我的模型中添加了(为了添加类型转换属性并取消旧的created_at/update_at/deleted_at:ransacker:created_atdoArel::Nodes::SqlLiteral.new("date(items.created_at)")endransacker:updated_atdoArel::Nodes::SqlLiteral.new("date(items.updated_at)")en

ruby - ransack如何使用pg_search?

我想使用ransack(通过ActiveAdmin)对模型进行全文搜索。我怎样才能得到ransack以使用pg_search进行查询?我想运行在其他查询组件中使用pg_search功能的查询。 最佳答案 你不需要搜索来使用pg_search,只需组合范围。他们注定要一起工作。这里我使用了几个不同的gem来协同工作以进行搜索:@lessons=Lesson.by_fuzzy_name("foo").#pg_searchscopeby_instructor_fullname("bob").#pg_searchscoperansack(r

ruby - rails ransack gem 搜索 json 列

我有一个字段作为json列,我必须搜索该列中的所有电话值,我已经搜索过它但没有找到任何使用ransack的文档。是否可以使用ransaack来搜索json列?我已经使用ransack搜索其他字段,所以我必须使用ransack或可以结合这两种结果的东西我的json列看起来像这样{"phone1"=>"","relationship_type1"=>"","relationship_name1"=>"","phone2"=>"","relationship_type2"=>"","relationship_name2"=>"","phone3"=>"","relationship_type

ruby-on-rails - Ransack,Postgres - 对具有不同 : true 的关联表中的列进行排序

我有一个使用Ransackgem的应用程序,我正在将它从Mysql转换为Postgres。在排序列来自关联表且distinct选项设置为true的实例中,Postgres抛出此错误:PG::InvalidColumnReference:ERROR:forSELECTDISTINCT,ORDERBYexpressionsmustappearinselectlistRansackgithub页面上说,在这种情况下,“你只能靠自己了。”什么是最好的-任何!-处理这种情况的策略?q=Contact.includes(:contact_type).searchq.sorts=['contact_
12