问题标签 [named-scope]

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 投票
3 回答
766 浏览

ruby-on-rails - named_scope - 查找字段既不为空也不为空/空白的条目

我只想找到不为空或空/空白的记录,目前我有;

(画廊是一个字符串)但如果用户输入然后删除一个标题,那么这个空字符串将包含在结果中。

为了澄清我希望能够只选择该字段有一些文本的条目......

0 投票
1 回答
596 浏览

ruby-on-rails - 为什么这些 named_scopes 会导致重复的 INNER JOIN?

我有一个模型,我用它来使用awesome_nested_set插件跟踪分层组织中的权限。我遇到了一个问题,两个named_scopes 链接在一起时会创建一个 duplication INNER JOIN

这两个named_scopes 位于Account模型中,用于按用户和组过滤帐户:

这两个named_scopes 都需要 join memberships,但他们不应该能够做到这一点而无需重复吗?当它们链接在一起时,mysql会出现以下错误:

0 投票
1 回答
58 浏览

ruby-on-rails - 帮助重构 named_scope

我有以下named_scope:

我需要将条件重构为以下内容:

我对更改条件的语法不太满意。有人可以提供帮助吗?

0 投票
2 回答
190 浏览

sql - 如何编写一个命名范围来过滤所有传入的数组,而不仅仅是匹配一个元素(使用 IN)

我有两个模型,项目和类别,它们之间具有多对多的关系。项目模型非常简单:

:in_categories 范围采用类别 ID 数组(作为字符串),因此使用此范围我可以取回属于至少一个传入类别的每个项目。

但我真正想做的是过滤(更好的名字是:has_categories)。我只想获取属于传入的所有类别的项目。所以如果我传入 ["1", "3", "4"] 我只想获取属于所有类别的项目。

0 投票
1 回答
945 浏览

ruby-on-rails - Rails - 引用模型中的当前对象

我必须承认,我什至不确定我是否提出了正确的问题......

在我的应用程序中,我有一堆命名范围来构建更有效的查找。我无法上班的一个是:

=> 我想查找当前类别及其后代中的所有产品。我使用“祖先”gem 来构建树,它在类级别提供命名范围:

所以我认为有一个这样的named_scope是个好主意:

或者

这两件事都适用于控制器和助手,但不适用于模型......当我没有弄错时,它归结为“@category”(我在控制器中定义了它)在模型中不可用。

有没有一种方法可以让它可用?

谢谢你的帮助!

瓦尔

0 投票
1 回答
158 浏览

ruby-on-rails - named_scope 条件和时区不匹配

这是设置:

有时它被初始化:

问题......这些named_scope(s)是否生成相同的EXACT SQL

在第一个示例中,我使用 end_date,在第二个示例中,我使用 end_date.utc。

(可能需要注意...... DB服务器的操作系统设置为CDT,而DB内部使用UTC。rails服务器的操作系统设置为CDT,应用程序实例设置为EDT。我意识到这可能是不是配置这些系统的最佳方式,但是,当前的问题是 ActiveRecord 输出。)

值得我的直觉是,第一个示例将为本地 TZ 生成一个时间字符串,而第二个示例将生成一个 UTC-0。

PS:有没有可以用来验证我的直觉的小测试用例?

0 投票
1 回答
436 浏览

ruby-on-rails - named_scope 和 named_scope + lambda 有什么区别

named_scope 和 named_scope + lambda Ruby on Rails 代码语句有什么区别?

0 投票
1 回答
1310 浏览

ruby-on-rails - Rails 模型的默认条件

我有一个模型,它有一个名为 的字段deleted,用于标记那些已删除的项目。

所以通常我只想查询那些有deleted = false项目的人,并在某些特殊情况下列出那些已删除的项目以进行恢复。

有可能这样做吗?我现在能做的就是使用一个命名范围:conditions => {:deleted => false}

有没有更好的方法可以让当我这样做时Item.other_named_scope,我可以找到所有那些未删除的项目?

0 投票
2 回答
919 浏览

ruby-on-rails - 在 has_many 关联中为“无子项”创建 named_scope

我想为零帖子的博客设置一个 named_scope。

以下不起作用。

0 投票
1 回答
444 浏览

ruby-on-rails - postgreSQL中的Rails named_scope错误,适用于SQLite

我有以下模型将用户与角色相关联:

UserRoleAssignment 中的命名范围在 SQLite 中有效,但在 postgreSQL 中无效,这会发出此错误:

我已经尝试了命名范围的许多不同变体(添加一个 :have 子句,添加额外的分组)但是每次我添加一些东西时,postgreSQL 中都会出现一个新错误,所以我已经恢复到我原来的简单命名范围。第一个作用域的重点是检索所有角色名称为“admin”的用户,第二个作用域是检索具有除“admin”以外的角色的用户。我将它与其他模型的搜索逻辑一起使用,它在 SQLite 中按预期工作,但在 postgreSQL 中没有(例如 User.user_role_assignments_has_admin_role)。

How can I modify these named_scopes to work with postgreSQL?