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

mysql - Rails 范围问题

我正在尝试为模型添加范围。我正在寻找从分贝计算总播放量。我在 Rails 3.2.13 上

MYSQL 查询提供了预期的结果。

= 169 次播放

我试图让这个范围工作,但是当我检查日志时 Rails 忽略了它。

统计模型

仪表板控制器 total_views:Stat.for_user(current_user).only_valid.between(@start_at,@end_at).totviews.count,

日志的输出 仍然显示原始查询而不是修改后的查询。

= 4589 次播放

任何帮助表示赞赏。谢谢

0 投票
1 回答
802 浏览

ruby-on-rails-3.2 - 如何使用 Rails 中的范围查询数据库中的信息子集并将其显示在视图中?

我是一个初学者,我很感激能帮助我了解我的知识差距在哪里的答案:

该应用程序用于显示帖子。这些帖子属于一个类别(开胃菜,主菜......)我的想法是使用范围在一个视图中显示帖子上的所有开胃菜,然后在另一个视图中显示主菜,依此类推。

型号:

在视图中,我想遍历类别名称为“开胃菜”的帖子。

这需要我设置路线:

我还必须添加到后控制器:

这为我提供了一个包含我想要的结果的页面,但正如下面评论的那样,它有点混乱,如果你有很多类别,就不能很好地扩展。

我正在寻找一种更清洁的方法来做到这一点。任何建议都会很棒。

0 投票
2 回答
740 浏览

ruby-on-rails - ActiveRecord 在应用范围时合并当前 where 条件?

我在 Active Record (3.2.13) 中遇到了一些意外行为:

我的模型上有一个简单的范围:

这可以单独使用:

当我连接where- 子句时,它们会and按预期进行编辑:

问题:

但是,当我链接一个范围时,我的第一个 where 子句是 nuked,最后一个在合并中获胜:

如何在与现有条件的关系上应用范围?

(这些现有条件是通过康康建立的load_and_authorize_resource,所以我不能在应用我的范围where只应用这些条款。)

0 投票
1 回答
61 浏览

ruby-on-rails - Rails 关联、范围、JoinModel

更新:这是我们解决它的方法。在两个代码片段生成的 sql 上运行 MYSQL Explain:

Manifest.where(assembly_id => @assembly.id).where(part_id => @part.id).exists?没有加入,跑得更快——所以它赢了!

我有以下情况:

结尾

因此,作为极客,我和我的同事们就以下问题展开了有争议的争论:

给定一个零件和一个组件,查找它们是否在同一个清单上。

解决方案一(使用关联):

解决方案二(使用范围):

解决方案一通过内部连接来获取数据,这让讨厌跨表的阵营发疯了。但它简洁而不丑陋。

解决方案二不做内连接并使用范围(即 where 子句),但它有点难看。

解决方案一被称为低效,并且在进行分析时,它实际上运行速度稍慢。

关于这种情况的最佳实践的任何想法。

顺便说一句,为了说明问题,我从 Rails 指南中获取了代码。

0 投票
1 回答
257 浏览

ruby-on-rails-3 - 在循环中设置 ActiveRecord 范围

为什么这不起作用?

现在Foo.new它返回的不是 Foo 的实例,而是一个 ActiveRecord::Relation。

0 投票
1 回答
619 浏览

java - Java CDI ConversationScope 通过调用 Timer?

我们正在使用 EclipseLink 和 JBoss Weld 运行 JavaEE 6 环境。对于 EntityManager,我们目前正在使用 @ConversationScoped 范围,它非常适用于 JSF 交互。

我们现在想要包含一个 @Schedule 方法来自动检查数据(检查截止日期等)。但是,我不知道这是否可能,因为自动呼叫似乎没有创建对话。这是我们目前的做法:

但是,只要 EntityManager 是 @ConversationScoped,注入就不起作用。(ContextNotActiveException)

除了调用一些 JSF 之外,是否有可能“创建”对话?或者是创建自定义范围的唯一可能性,如如何在没有 http-session 的情况下使用 CDI-@SessionScoped

0 投票
3 回答
197 浏览

ruby-on-rails - 我将如何创建一个 activerecord 范围来返回下一次访问导致购买的客户

我有三个 activerecord 模型:客户、访问和活动。

访问模型跟踪特定客户每次访问网站、访问的页面、显示的广告以及最重要的是他们是否进行了购买。广告系列是客户在访问网站期间看到的一系列广告。每个活动持续 1 小时(每天 24 个活动)并且有很多访问。

我正在尝试做的是开发一些 activerecord 范围或类方法,使我能够识别“下次访问购买”。

例如,7 月 4 日当天的第四个活动有 100 次客户访问。我希望能够查看每个客户的下一次访问,并确定那些访问/客户在下一次访问时已经/进行了购买。我发现很难解决的是客户随后的访问并非都是在同一天,但我想确定“下一次访问”以及导致购买的那些。

我的设想是这样的:

或者

我在访问模型中有一个购买标志,因此购买范围相当简单。

同样基于Railscast #215,如果我在访问模型上创建此范围,则可以使用连接和合并将它们应用于客户和活动模型。

这是正确的方法吗?如果是这样,我如何定义我的 Next 范围,如果不是,你会建议什么作为替代方法。

更新:我得到了一些很好的回应。只是想知道普遍的共识是迪帕克的方法是正确的还是其他反应更可取。

0 投票
3 回答
4319 浏览

java - spring mvc 中存在哪些作用域?

我知道在 servlet 中有很多范围(请求、会话……)。

  1. 它与 Spring MVC 有何关联?
  2. 如何使用 Spring 样式使用需要的范围?

我不想直接使用HttpRequestand HttpResponse

0 投票
0 回答
640 浏览

sharepoint - Sharepoint 2013 SearchBoxEx 范围未正确加载

我需要标记共享点搜索框以允许范围。使用默认 SearchBoxScriptWebPart 时,范围会根据需要显示。但是,除了下拉箭头之外,我还需要将范围显示为文本(默认的 SearchBoxScriptWebPart 仅显示一个箭头,单击该箭头会显示包含所有范围的下拉列表)。然后我尝试使用似乎非常适合这项工作的 SearchBoxEx。但是由于某种原因,它没有加载我在“站点设置”>“搜索设置”中指定的范围。有什么想法我可能对 SearchBoxEx 做错了吗?

这是我在母版页中使用的代码:

请注意,我尝试了 DropDownMode 的所有可能组合,但仍然无济于事。谢谢

0 投票
0 回答
43 浏览

ruby-on-rails-3 - Rails:更好地理解动态范围

这是我的“动态”范围:

User上面的方法在我的模型中包含的一个模块中。

因此,您可以在代码中访问它,如下所示:

anonymous scopes在 Google 搜索动态范围时,我在( http://railscasts.com/episodes/112-anonymous-scopes )上遇到了 Ryan Bate 的 RailsCast 。我在使用 Rails 3 后对其进行了修改,但想知道在编写动态范围时我是否走在正确的道路上?

由于我正在编写的一些复杂 API 的性质,我发现自己有时会编写动态范围。