问题标签 [squeel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
932 浏览

ruby-on-rails - Squeel 和 rails... 动态 where 子句

在 Rails 应用程序中使用 Squeel,我有一个条件哈希:

我最终计划移动到一个数组中......所以我也可以有一个操作员分配。

我想使用一个模型方法,现在我省略了运算符,我只是在尝试 == 让它工作......但是,我下面的内容不起作用。

我也试过这个:

那么,我如何让它与 == 一起使用,然后我最终如何让它与动态运算符一起使用呢?谢谢

在控制台中,我的 SQL 在我的任何条件下都不会读取...例如:

在控制台中:

0 投票
1 回答
141 浏览

ruby-on-rails - ruby date.month 在 squeel 搜索中的单词

我正在使用 squeel,我的 Event.rb 模型中有一个搜索方法,它从 text_field 输入接收参数(字符串)

我想要完成的是,如果用户在 Event.date.month 中输入“fe”或“ap”搜索以进行匹配(“february”、“april”等)。目前只输入月份编号 02、04 等。

我会很感激任何帮助

0 投票
2 回答
252 浏览

ruby-on-rails - 在 Squeel 中使用 NOT 运算符?

如何使用 Squeel 编写 SQL 查询?

我试过:

但得到这个错误:

0 投票
1 回答
43 浏览

ruby-on-rails - 如何使用 squeel 在结果中包含连接的记录

我正在尝试上述方法,但我的结果集中也需要匹配的协议..

因为这

我不能使用 products.first.agreement.first.... 这可能是不同的协议。

0 投票
1 回答
657 浏览

ruby-on-rails - 使用多个 belongs_to 关联对同一模型进行多次连接

我有一个类协议,其中有两个属于成员类的关联 - 被称为主要和次要:

Member 类不知道与 Agreement 类的关联——它不需要:

我想做的是搜索主要或次要成员与一组标准匹配的所有协议。

从之前的工作(参见问题 #14139609)中,我整理出了如何构建条件 where 子句Member.by_any()

在搜索协议时尝试重用该方法导致我尝试这样做:

在控制台中运行此命令时member_attribute_hash = {surname: 'Freud'},生成的 SQL 无法使用为第二次加入成员生成的别名:

注意 WHERE 子句中的重复条件。这将返回主要成员具有“弗洛伊德”等姓氏的协议,但忽略次要成员条件,因为别名未通过合并。

有任何想法吗?

0 投票
2 回答
943 浏览

ruby-on-rails - 如何选择 DISTINCT [model].* 使用 Squeel 和 Rails

出于兴趣,我试图重写

(生成):

在纯 Squeel 中,但我能得到的最接近的是

生成:

我将如何DISTINCT [model].*在 Squeel 中进行操作?是否可以?

谢谢

0 投票
1 回答
387 浏览

ruby-on-rails - 使用 Rails 和 Squeel 对复杂条件下的结果进行排名

我可能在这里做一些愚蠢的事情 - 我对其他方式持开放态度 - 但我试图根据计算字段对我的结果集进行排序:

我的问题是这date_of_birth可能为零。这会导致cast((...).as int)调用返回三个不同1的值 - 如果表达式计算为true; 0如果表达式计算为false; 如果基础列nil值为nil.

表达式中的nil值会导致整个排名评估为NIL- 这意味着即使我有一条与 完全匹配的记录,surname并且given_names如果date_of_birth列是nilranking则记录的 是nil

我曾尝试在castthat 检查中使用复杂的表达式if not nil or the matching_value,但是使用时它会因 Squeel 异常而失败,|并且 ruby​​ 在使用||and时会对其进行评估or

我还尝试按别名列的顺序使用谓词:

但这会引发ActiveRecord异常,抱怨该列ranking不存在。

我走投无路了……有什么想法吗?

0 投票
1 回答
161 浏览

ruby-on-rails - 为什么这个 Ruby Squeel (PostgreSQL) 调用返回 nil,而它显然不是?

我有一个搜索页面,允许用户根据 GPA 和运动统计数据等标准搜索运动员。当只使用一个搜索过滤器时,PostgreSQL 会返回正确的答案。当使用多个搜索过滤器时,只有在两个搜索过滤器中使用相同的统计数据时,它才会起作用。例如,如果我搜索“GPA > 3”和“GPA == 4”,它将返回相应的运动员。如果我执行“GPA > 3”和“ACT > 20”(在同一运动员身上两者都为真),它不会返回任何内容(空数组)。

作为整个页面的参考,这里是 @conditions 的样子(它在代码中被转换为一个数组而不是一个哈希,因此循环可以迭代,但你明白了要点):

下面是代码(Squeel 语法):

我在下面包含了两个从 ruby​​-debug 获取的 PostgreSQL 调用(我正在使用 Squeel,一个 PostgreSQL 的 Ruby 包装器)。如果您在两个调用中向下滚动,您会看到第一个和第二个调用是相同的,但第二个调用有一个额外的 AND(并且遵循与第一个相同的格式,应该可以正常工作)。

调用 1(一个参数):

结果是一名运动员。

调用 2(两个参数):

然而,第二个调用返回 [],但应该是同一个运动员......

知道为什么这不起作用吗?糊涂!

:::::UPDATE::::: 通过执行以下操作修复它,它仍然非常快:

0 投票
0 回答
112 浏览

ruby-on-rails-3 - Paginate 和 Squeel 不能很好地协同工作

我无法让 will_paginate 与 squeel 一起工作。

以下代码使用表单中的参数进行搜索。

它适用于“Disponível”(item_status_logico)和“Funciona”(item_status_fisico)。但是,如果我在 :criterio 上放一些东西,它会中断以下消息:

nil:NilClass 的未定义方法“分页”

我的控制器有一个调用所有内容的列表方法

我看下面的材料来弄清楚。但我做不到。

  • https://github.com/ernie/squeel/wiki/Tips-and-tricks
  • https://github.com/ernie/squeel
  • http://railscasts.com/episodes/354-squeel

任何人都可以帮忙吗?

信息:

  • 红宝石 (1.9.3)
  • will_paginate (3.0.4)
  • 斯奎尔 (1.0.18)
  • 导轨 (3.2.13)
0 投票
2 回答
5833 浏览

ruby-on-rails - 在“lambda”中:尝试创建没有块的 Proc 对象(ArgumentError)

给我:

我已经阅读了几个问题,但无法解决问题。我对 Ruby 比较陌生,并且刚刚开始使用 Rails。我可能有点过头了。