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

ruby-on-rails - Rails 覆盖默认范围全局

我有一个 Rails 3.2 应用程序,我想为多个客户端和一个应用程序使用一个数据库。因此,对于我创建的每个模型,我都创建了一个名为 的字段account_id,现在我想添加一个全局范围来过滤account_id日志用户的基础中的行(account_id是会话参数)。所以在初始化时我创建了一个文件并把这些代码

如果我使用用户登录account_id=2一切正常,但如果在同一时刻我登录另一个浏览器或计算机account_id=3...我有很多错误并且在日志中,我已经看到该应用程序account_id=2同时使用account_id=3

有什么解决办法吗?我该如何重写default_scope(scope = {})?其他其他想法?

0 投票
0 回答
131 浏览

ruby-on-rails-4 - default_scope 轨道替代

我有一个用户数据库,它使用我的系统一次,然后再过 4 到 5 年就再也见不到他们了,所以我想为什么不“归档”所有这些用户而只关注最近的用户,那些last_sign_in_at >= DateTime.now - 10.days。我有一个使用 rails_admin 的管理工具,它可以完美地处理 5% 的数据库而不是 100%。

我做了一些搜索,default_scope不幸的是我很快发现它是纯粹的邪恶。

在这种情况下你会推荐什么?

感谢您的帮助

0 投票
1 回答
360 浏览

ruby-on-rails - 在 ActiveAdmin 中过滤时跳过默认范围

我在 ActiveAdmin 中有一个默认范围,不包括“待定”状态,因为我们有很多这种状态,而且我们不想在默认情况下看到它。但是当我们按过滤器搜索时,我们希望跳过这个默认范围并包括“待定”状态。这个怎么做 ?

我的模型:

ActiveAdmin 模型:

0 投票
0 回答
140 浏览

ruby-on-rails - 在 Rails 5 模型的 default_scope 中使用包含方法,而不是在控制器中

我知道通常最好避免在 Rails 模型中使用默认范围,但是,由于总是需要一些关联,而不是.includes每次都在控制器中为模型使用方法,我更喜欢将其包含在默认范围中模型本身。

此更改是否有任何主要缺点(移动.includes到模型default_scope而不是控制器)?

例如:

而不是在控制器中:

Brand.includes(:car_model)

我想includes在品牌模型本身中有这个:

default_scope { includes(:car_model) }

笔记:

据我所见,子弹现在说避免急切负载以避免这种情况includes,而不是我之前在同一模型和包含关联上使用的急切负载。

0 投票
1 回答
119 浏览

ruby-on-rails - 如果在rails中添加了default_scope,如何验证无范围的记录?

我想验证所有无范围的记录。我添加了默认范围,除了自定义代码之外还有其他方法。

0 投票
1 回答
54 浏览

ruby-on-rails - 使用 default_scope 之外的外键创建 ActiveRecord 会引发验证错误

使用它创建一个产品,warehouse_x (foreign key to Warehouse table)它在 default_scope 之外,即 warehouse_x 有warehouse_type **damage**

无法创建记录并抛出错误。

架构

仓库模型 (warehouse.rb)

产品型号(product.rb)

如何使用默认外键(关系表)创建记录。