问题标签 [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.
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 = {})
?其他其他想法?
ruby-on-rails-4 - default_scope 轨道替代
我有一个用户数据库,它使用我的系统一次,然后再过 4 到 5 年就再也见不到他们了,所以我想为什么不“归档”所有这些用户而只关注最近的用户,那些last_sign_in_at >= DateTime.now - 10.days
。我有一个使用 rails_admin 的管理工具,它可以完美地处理 5% 的数据库而不是 100%。
我做了一些搜索,default_scope
不幸的是我很快发现它是纯粹的邪恶。
在这种情况下你会推荐什么?
感谢您的帮助
ruby-on-rails - 在 ActiveAdmin 中过滤时跳过默认范围
我在 ActiveAdmin 中有一个默认范围,不包括“待定”状态,因为我们有很多这种状态,而且我们不想在默认情况下看到它。但是当我们按过滤器搜索时,我们希望跳过这个默认范围并包括“待定”状态。这个怎么做 ?
我的模型:
ActiveAdmin 模型:
ruby-on-rails - 在 Rails 5 模型的 default_scope 中使用包含方法,而不是在控制器中
我知道通常最好避免在 Rails 模型中使用默认范围,但是,由于总是需要一些关联,而不是.includes
每次都在控制器中为模型使用方法,我更喜欢将其包含在默认范围中模型本身。
此更改是否有任何主要缺点(移动.includes
到模型default_scope
而不是控制器)?
例如:
而不是在控制器中:
Brand.includes(:car_model)
我想includes
在品牌模型本身中有这个:
default_scope { includes(:car_model) }
笔记:
据我所见,子弹现在说避免急切负载以避免这种情况includes
,而不是我之前在同一模型和包含关联上使用的急切负载。
ruby-on-rails - 如果在rails中添加了default_scope,如何验证无范围的记录?
我想验证所有无范围的记录。我添加了默认范围,除了自定义代码之外还有其他方法。
ruby-on-rails - 使用 default_scope 之外的外键创建 ActiveRecord 会引发验证错误
使用它创建一个产品,warehouse_x (foreign key to Warehouse table)
它在 default_scope 之外,即 warehouse_x 有warehouse_type **damage**
。
无法创建记录并抛出错误。
架构
仓库模型 (warehouse.rb)
产品型号(product.rb)
如何使用默认外键(关系表)创建记录。