问题标签 [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 投票
2 回答
2365 浏览

ruby-on-rails - 关联的 ActiveRecord 条件(Rails)

假装我有一个模型, Post 其中 has_many :comments。如何只显示有评论的帖子?

我对 named_scope 有点满意,但我不知道如何将 Post.comments(或 self.comments)放入需要符号的 :conditions 散列中。

我在评论区写什么?

谢谢!

0 投票
1 回答
906 浏览

ruby-on-rails - 试图在所有模型上定义 named_scopes 和其他 ActiveRecord 关系

我正在尝试为 Rails 应用程序中的所有模型定义一个 named_scope。

目前,我已经能够通过为 ActiveRecord::Base 编写一个初始化程序并将常规方法放入其中来接近这一点。当然,这在创建查询链时并没有提供真正的优势,并且可能是完成工作的最简单的方式。

但是,当我开始尝试使用 has_many、named_scope 等... ActiveRecord 方法时,它不起作用。

虽然我知道我的 named_scope 可能不正确,但我真的只想帮助定义 named_scope。另外,我目前对任何 Ruby ACL GEM 都不感兴趣。

在初始化器/中:

0 投票
3 回答
10373 浏览

ruby-on-rails - 具有 has_many 关联的 rails 中的 named_scope

我正在尝试使用 Rails 的魔力来实现我认为相当复杂的查询,而代码中没有很多丑陋的 SQL。

由于我的数据库正在处理相当专业的生物医学模型,因此我将以下内容转换为更真实的场景。

我有一本样板书

has_many:章节

和那章

属于_to:书

例如,章节有一个名称属性,名称可以是序言、介绍和附录,一本书可以有一个名为序言的章节和一个名为介绍的章节,但没有名为附录的章节。事实上,这些的任何组合

我正在寻找所有既有章节都命名为序言和介绍的书籍。

目前我有一个named_scope如下

如果我打电话给书。有章?["preface", "introduction"] 这将为我找到所有具有名为序言或介绍的章节的书籍。我怎么能做类似的事情,发现我隔离章节序言和介绍?

我对 SQL 不是很熟悉,所以不太确定需要什么样的连接,以及这是否可以在命名范围内实现。

非常感谢

安东尼

0 投票
2 回答
279 浏览

ruby-on-rails - 有没有办法使用命名范围过滤加入的关联?

我有以下相关模型

目前我正在使用以下(我认为很难看)来过滤掉某种地址类型的注册地址。

有没有办法使用命名范围做同样的事情?

0 投票
2 回答
2326 浏览

ruby-on-rails - 使用带有命名范围的 ActiveRecord 跨多个表连接

我喜欢为 Rails 制作命名范围。但是,我遇到了一些泡菜。我已经很舒服地使用命名范围进行连接,如下所示:

现在假设我有一个名为 baz 的表,其中包含来自 bar 表的外键。我需要这样的东西:

这怎么可能?

谢谢

0 投票
3 回答
265 浏览

ruby-on-rails - 在rails中使用sql而不是命名范围的问题

我的模型中有一个“搜索”方法,它根据传递的各种参数运行一个 sql 查询,我将在其中加入七个表。但是当我将此方法与另一个命名范围一起使用时,会显示错误“数组的未定义方法调用”。

但是,如果我使用命名范围组而不是这种搜索方法,那么它可以正常工作。那么如何将命名范围与该方法集成

0 投票
2 回答
5132 浏览

ruby-on-rails - 检查模型实例是否属于 rails 中的 named_scope

假设我有一个命名范围:

这对查询很有用,我定义了一堆有用的 named_scopes。我想要的是能够做到这一点:

酒吧?' 如果模型实例在命名范围内,方法将简单地返回 true 或 false。无论如何都可以在不写“is_bar”的情况下做到这一点?方法,即使我已经写了一个很好的方法来检查是否有“is_bar?” 如果我没记错的话,DRY 很好,所以任何帮助都将不胜感激/

0 投票
3 回答
2886 浏览

ruby-on-rails - 使用 named_scope 的加法链接

有没有办法以加法方式组合范围?

如果我有范围

我可以打电话

并获得所有有大头发和弹吉他的用户。我可以写这个来吸引所有有大头发或弹吉他的用户吗?

我想我必须补充一点,我意识到您可以运行一组查询并将结果加在一起。这就是我试图不做的事情。

0 投票
2 回答
182 浏览

ruby-on-rails - 在索引页面上处理多个可能的查询条件的最佳方法

我有一个存储用户创建的文档的应用程序。这些文档有作者、创建日期。作者可以有角色。此外,给定的文档可能会被标记为关键字。数据库中有大约 16K 文档,用户可能希望查看这些信息的任意组合作为限制的文档。例如,查看给定作者的所有文档,或在给定时间窗口内发布的文档,或来自该角色的作者的所有文档等(以及这些文档的任意组合)。

是否有推荐的最佳方法来实现这一点?一般来说,我已经在 params 哈希中传递了所需的条件,然后使用复杂的 if ... elsif.... else.. 将传递的条件直接解码为不同的 Model.find 调用。或者,我将使用类似的 if 序列来构造正确的 SQL 条件短语,然后使用单个 find 调用。

这两个似乎都是 hack,应该有更好的方法来使用命名范围,但我无法找到一种干净的方法来处理排列。

0 投票
1 回答
404 浏览

ruby-on-rails - 复杂的named_scope:查找不属于某个项目的用户

我正在尝试创建一个命名范围,User.not_in_project(project)但我找不到正确的方法。

我将用户、项目和职责作为连接模型:

我尝试了named_scope与此 find 子句类似的方法:

但这不会让我返回没有的用户,my_project而是拥有除my_project.

换句话说,我希望命名范围的行为与此方法完全相同:

我怎样才能做到这一点?