- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想在模型问题中重新定义 default_scope
,但我得到了这个:
您尝试在模型“Product”上定义一个名为“default_scope”的作用域,但 Active Record 已经定义了一个同名的类方法。
module SoftDeletable
extend ActiveSupport::Concern
included do
scope :default_scope, -> { where(deleted_at: nil) }
end
end
是的,我知道这有很多好处,但问题不在于此。
您知道如何设置相关的 default_scope
吗?
谢谢
最佳答案
这个问题与将范围定义为问题的一部分并没有真正的关系。如果尝试从模型本身定义一个名为 default_scope
的范围,您会看到同样的错误。
要设置默认范围,请使用 default_scope
:
default_scope { where(deleted_at: nil) }
scope
用于创建您自己的命名范围,例如:
scope :non_deleted, -> { where(deleted_at: nil) }
可以让你写
`Model.non_deleted.where....`
因此您问题中的代码试图创建一个名为 default_scope
的范围,但是由于错误消息表明该范围 Model.default_scope...
将与用于设置默认范围的现有default_scope
方法。
关于ruby-on-rails - 重新定义关注的 default_scope(在 Rails 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50462683/
我有一个使用 Paranioa gem ( https://github.com/radar/paranoia ) 的模型,用于在数据库中保留已删除的 ActiveRecord 元素。 Paranio
在 ActiveRecord 中有一个 default_scope 类方法来指定默认范围。例如 class User false) end User.all # => SELECT * FROM u
我有一个如下所示的模型设置: class User has_many :items has_many :words, :through => :items end class Item b
我有一个具有以下 default_scope 的用户模型: default_scope where(account_id: Account.current_account.id) 如果我打电话User
假设我有一个 Post 模型和一个 Comment 模型。使用一种常见的模式,发布 has_many 评论。 如果 Comment 设置了 default_scope: default_scope w
Everywhere on the互联网上的人提到使用 Rails default_scope 是一个坏主意,而 stackoverflow 上 default_scope 的热门话题是关于如何覆盖它
嘿。在我的 Controller /索引操作中,我使用以下查询: @course_enrollments = current_user.course_enrollments 这就是我的 table 的
如何在rails控制台中查询时跳过default_scope 例如 class User { where.not(type: 'guest') } end 您还应该小心列名type,除非您将其用于单表
如果我有一个具有默认范围的 ActiveRecord::Base 模型: class Foo ["bar = ?",bar] end 有没有办法在不使用 default_scope 条件的情况下执行
我在访问范围时收到此错误。 这是 AR 模型 class StatisticVariable < ActiveRecord::Base attr_accessible :code, :name
我正在尝试在我的应用中实现 gem devise。在此之前,我的顶级模型是 Album,但现在它是 belongs_to :user(来自设计)。 然后我添加到albums_controller.rb
我在 mysql 下通过了以下测试(使用 FactoryGirl): test "order by title" do @library = create(:drawing_library
在我的模型 (pins.rb) 中,我有两个排序顺序: default_scope order: 'pins.featured DESC' #for adding featured posts to
在执行 ActiveRecord join 时尝试跳过 default_scope 时遇到一些问题。 尽管代码库非常大,但我只是展示基础知识,因为我认为它很好地说明了问题所在: class Clien
我在 rails 中使用 default_scope 来抽取任何具有 is_deleted = true 值的东西(任何具有这个值的东西都不应该显示,但我仍然想保留数据库中的行)。但是有一个 Cont
有什么方法可以在 where 条件下覆盖默认范围或以前的范围吗? (除了重构模型以不使用 default_scope 或使用 unscoped) 另外,为什么会这样?感觉这不是最令人期待或最直观的方法
我的应用程序不仅具有“用户”,而且还具有“管理员”和“ super 管理员”。由于所有这三个共享相同的属性,因此我只想使用一个带有附加属性“role”的表,该属性可以是“user”,“admin”或“
我尝试通过以下方式定义 default_scope: default_scope :joins => :product, :select => "catalog_products.*, product
我在弄清楚这一点时遇到了一些麻烦:我有一个模型 Machine在 locations 上有外键表,我想要 Machine 的默认范围按 location.name 排序.这可能吗? 最佳答案 是的,使
关于 Rails 2/3 的 default_scope 的问题。 在我的 Rails 3 项目中,我使用了很多 default_scope 来通过 created_at desc 进行排序。 所以首
我是一名优秀的程序员,十分优秀!