问题标签 [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.
sql - rails 范围检查关联是否不存在
我正在寻找一个范围来返回所有没有特定关联的记录。
foo.rb
bar.rb
我想要一个可以找到所有Foo's
没有的范围bars
。使用 很容易找到具有关联的那些joins
,但我还没有找到相反的方法。
activerecord - 为多对多关系编写范围
我有一个包含 3 个模型的应用程序:租户、部门、标准。
和
我正在尝试在 Renter 模型中创建两个范围,让我可以按部门和标准找到租户。
这是我的代码:
使用
或者
自行工作。但是,当我尝试将它们链接起来时,
我收到一条错误消息:
此外,
关于我做错了什么的任何想法?
ruby-on-rails - 是否有一种优雅的方法可以使用 .send() 附加存储在数组中的范围?
这是我所拥有的
目前,我正在这样做:
但那不是很灵活?如果我想有条件地不拥有这些范围之一怎么办?
我认为具有条件添加元素的范围数组将是一个很好的解决方案
我将使用 .send() 调用的参数数组
所以,我可以有一些未知的数字范围。
要执行范围,我需要调用.send(:scope_name, scope_param)
但是我如何为我的scopes
阵列中的任意数量的范围做到这一点?
作为一个循环,我认为它会像
循环可以简化为
但是有没有办法在一行中附加不同的发送调用?
ruby-on-rails - 运行 rake assets:precompile 在没有表时失败(还)
每当数据库是干净的,没有表时,这经常发生在测试和设置要部署到的新服务器时,许多 rake 任务,如 assets:precompile,都会失败并出现以下错误:
任何想法为什么以及如何解决它?
如果我用 trace 运行它,我可以看到错误是从 staffer.rb:103 生成的,其中包含:
如果我将其注释掉,至少 assets:precompile 有效。
似乎整个事情都是由 active_admin 触发的,admin/users.rb 的第一行看起来像:
整个错误如下所示:
ruby - Ruby 块是如何实现的(在编译器中)
我想实现一种类似于 Ruby 块的语言结构。所以
应该编译得很好。我看了 1 个小时的源代码,但由于我不太擅长 CI,仍然不知道他们是如何实现它的。我的第一个想法是它是一个嵌套函数,地址作为参数传递,但我不确定嵌套函数如何访问局部变量,因为在大多数语言中这似乎是不可能的。如果有人能给我一个如何实施的想法,我会很高兴
ruby-on-rails - 使用范围在 ActiveRecord 中的多个 DateTime 范围内返回结果
我有一个Session
模型,它有一个:created_at
日期和一个:start_time
日期,两者都存储在数据库中:time
。我目前正在一张巨大的桌子上吐出一堆结果,并允许用户使用范围按单个日期和可选的时间范围过滤结果,如下所示:
控制器看起来或多或少像这样:
我需要允许用户使用多个日期过滤结果。我将参数作为字符串格式的逗号分隔列表接收,例如"07/12/2012,07/13/2012,07/17/2012"
,并且需要能够在数据库中查询几个不同的日期范围和这些日期范围内的时间范围,并合并这些结果,例如所有7/12、7/13 和 7/17 下午 6:30 至 7:30 之间的会议。
我一直在到处寻找并尝试了几种不同的方法,但我不知道如何实际做到这一点。这可以使用范围吗?如果不是,最好的方法是什么?
我最接近的猜测看起来像这样,但它没有返回任何东西,所以我知道这是错误的。
另一个复杂之处是开始时间都存储为 DateTime 对象,因此它们已经包含一个固定日期,所以如果我想返回在任何日期在下午 6:30 到晚上 7:30 之间开始的所有会话,我需要弄清楚其他事情也。第三方负责数据,因此我无法更改数据的结构或存储方式,我只需要弄清楚如何进行所有这些复杂的查询。请帮忙!
编辑:
这是我通过结合以下 Kenichi 和 Chuck Vose 的建议得出的解决方案:
此解决方案允许我从多个不连续的日期返回会话,或者在完全不依赖日期的情况下返回一段时间内的任何会话,或者结合两个范围以按这些日期内的不连续日期和时间进行过滤。耶!
我忽略的一个重要点是该where
语句必须放在最后——将它放在每个循环中不会返回任何内容。感谢你们俩的帮助!我现在感觉更聪明了。
javascript - 跨不同范围访问函数
我试图理解以下场景,其中我在一个范围内定义了一个函数并希望在另一个范围内访问它。
我有两个不同的 JavaScript 文件,helper.js 和 main.js,它们都有一个自调用函数:
helper.js:
主.js:
如果我首先在我的页面中包含 helper.js,然后是 main.js,这在 Firefox、Safari 和 Google Chrome 中完美运行。但是它在 IE8 中不起作用。
谁能指出我在这里做错了什么?
我编写自调用函数只是为了不弄脏全局范围。在这个方向上的任何帮助都会对我有很大帮助。
yii - 引用 yii 中的关系应用默认范围
我找不到太多关于在 yii 中将默认范围应用于模型的文档,我想知道是否有人可以解释或指出我正确的方向。
我的问题的快速版本:
是否可以将关系添加到默认范围,或者默认为模型上的每个 AR 搜索添加“with”条件?
我的问题的长版本:
我的应用程序的快速摘要:
我有两个模型,provider
和item
。其中有 am:1 关系,提供者可以有许多项目,但每个项目只能有一个提供者。
到目前为止,我有这些关系:
在我的项目模型中,我已经有一个 defaultScope 过滤掉所有离线项目(即只显示设置为的项目offline = false
):
我现在想要做的,也是过滤掉他们的提供者设置为离线的项目(即只显示provider.offline = false
与 current 并排的项目item.offline = false
)。
我尝试在 defaultScope 中加入提供者表:
但是 JOIN 在 ON 语句之后应用,并导致错误 ( CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'provider.offline' in 'on clause'
)。
我还尝试向 defaultScope 添加一个 with 条件:
但是我得到了同样的错误:SQLSTATE[42S22]: Column not found: 1054 Unknown column 'provider.offline' in 'on clause'`)。
有什么建议么?
yii - yii 检测范围是否在使用中
我想知道是否有一种方法可以检测是否在 yii 的 AR 搜索中使用了范围?
例如,一个模型可能包含 2 个作用域:
我这样称呼AR:
这是一个非常动态的站点,有超过 2 个范围,有些使用,有些没有。如果正在使用另一个范围,则有几个范围不应应用。为了避免数百条if else
语句,我可以这样做:
c# - 变量的有效范围
可能重复:
为什么不能在嵌套的局部范围内声明重复的变量名?
大家好,今天我发现了一个问题,我不确定:
我认为下面的例子应该是正确的,因为大括号创建了一个新的局部区域,所以我不能访问大括号之后的第一个 x,我应该能够在右大括号之后创建一个同名的新变量。
但是如果我尝试这个例子,我会得到错误:“不能在这个范围内声明一个局部变量名“x”,因为它会给“temp”赋予不同的含义,它已经在父范围或当前范围中用于表示别的东西。”
这在 C# 中真的不允许吗?这也可能是 ReSharper 7.0 或 Visual Studio 2012 的故障。
请不要提出不好的编码风格,这只是我对c#的基本理解。
谢谢你,美好的一天;)