问题标签 [scopes]

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 回答
210 浏览

ruby-on-rails - 在 Rails 中使用相同部分时显示不同数据的最佳实践

只是一个与 Rails 最佳实践相关的问题:

假设我们有一个 Post 和一个 Comment 模型。相同的部分用于在索引视图和显示视图上呈现帖子。在该部分内部是对呈现评论的另一个部分的引用。

post_controller.rb

_post.html.haml

评论/_list.html.haml

现在假设对于帖子索引视图,我们只想显示每个帖子的最后 3 条评论,但在显示视图中我们希望显示帖子的所有评论。因为使用了相同的部分,我们不能编辑调用来限制评论。实现这一目标的最佳方法是什么?目前我已经将它抽象为一个助手,但是感觉有点狡猾:

这意味着_post.html.haml更改为读取

它有效,但感觉不像 Rails 方式。我猜有一种使用范围的方法,但我似乎无法弄清楚。

0 投票
1 回答
1315 浏览

ruby-on-rails - 具有取决于数据库的条件范围的 Rails 模型

我正在基于此 railscast实现模型的范围。范围内的条件使用二元 AND 运算符&,如下所示:

由于我当前针对的数据库是 Oracle,它使用BITAND函数而不是&运算符,因此我将条件重写如下:

我的问题是,我希望我的代码尽可能与数据库无关,因为将来我们计划针对其他数据库。我目前的解决方案是检查我是否使用 Oracle 并相应地定义范围,如下所示(using_oracle是我在其他地方计算的布尔值):

这行得通,但并没有让我觉得特别优雅或像 ruby​​/rails 一样。任何人都可以提出更好的选择吗?

0 投票
1 回答
198 浏览

google-app-engine - Google Apps Marketplace 应用程序 - 如何添加支持应用程序的范围

我们有两个 appengine 应用程序。一个是为另一个面向客户的服务应用程序提供数据。我们正在将面向客户的应用程序作为可安装应用程序放入 Google Marketplace。我们希望在应用程序清单中包含用于访问 Provisioning API 的范围。但是,需要此访问权限的是服务应用程序。

是否可以在清单中指定允许访问另一个应用程序的范围?

0 投票
0 回答
485 浏览

java-ee-6 - 为什么添加 CDI 扩展时 @Inject 会失败?

我正在尝试编写 CDI 扩展。一旦我添加 META-INF/services/java.enterprise.inject.spi.Extension 文件,所有注入都失败并显示消息WELD-001408 Unsatisfied dependencies for type...。奇怪的是,扩展文件也可以是空的,这个错误仍然会发生。当我删除文件时,一切都按预期工作。

我正在使用 Glassfish 1.3.2.2。

有谁知道为什么会这样?我在谷歌上没有找到任何东西。

//编辑:代码示例

我有一个 REST 资源,我将一个类 SomeClass 注入到该资源中(参见示例)

META-INF/services/java.enterprise.inject.spi.Extension当- 文件不存在时,这完全正常。添加文件后,我立即收到WELD-001408 Unsatisfied dependencies...异常。即使文件为空。这是玻璃鱼虫吗?

0 投票
1 回答
1011 浏览

java-ee-6 - CDI & JPA:存储库类的最佳范围

我想知道 CDI 中存储库类的最有效(就所需资源而言)范围是什么。想象以下场景:

该示例中的 EntityManager 是使用@RequestScoped范围生成的。

0 投票
3 回答
136 浏览

javascript - 命名函数表达式和使用变量引用之间的区别?

来自 javascript.info:

有趣的部分:

我的问题是:为什么以下不起作用:

换句话说,为什么第一个按预期工作,而第二个没有?第一个(给函数本身命名并在函数内使用它)和第二个(使用引用函数的变量)之间的实际区别是什么?

0 投票
1 回答
371 浏览

ruby-on-rails - 与 sql 相比,rails 范围慢

我使用 find_by_sql 并在一秒钟内给我回复:

然后我尝试使用具有 activerecord 关系方法的范围来构建相同的查询:

但 45 分钟后查询仍在运行。

当我按下 control + c 这是输出:

0 投票
1 回答
3042 浏览

database - OAuth2 服务器的范围值是什么?

我很难理解范围是如何工作的。

我在这里找到了一个描述stackexchange api范围的小文本,但我需要更多关于它们如何工作的信息(不是特别是这个......)。有人可以给我一个概念吗?

提前致谢

0 投票
1 回答
35 浏览

ruby-on-rails - 你能有一个检查缺席的范围吗?

我的数据库中有一个Invites表,当我以用户身份执行任务时,我想将Event.id 传递给范围User.not_invited_to(event)

如何构建此范围以检查用户 ID 是否不在其中?

0 投票
1 回答
1234 浏览

ruby-on-rails - ActiveRecord::Relation 命中 Array 方法而不是我的类方法

在 Rails 3.2 模型中,希望创建一个“to_csv”类方法来从 ActiveRecord 范围生成 CSV 输出,如下所示:

我希望我可以像这样使用它:

但是,该方法似乎被 Array #to_csv 方法覆盖。即使我这样做:

...并且来自User.first.posts.scoped的结果明确是一个 ActiveRecord::Relation,我仍然点击了 Array 方法。如果我将该方法重命名为“to_csvx”之类的名称,它会按预期工作。

我希望有人可以解释 ActiveRecord::Relation 对象如何/为什么优先命中 Array #to_csv 方法而不是 to_csv 类方法。虽然这(一个期望被 AR 范围调用的类方法)似乎是合理的,但我想知道整个想法是否存在固有问题?