繁体   English   中英

获得AASM宝石在Rails中生成的范围的补充

[英]Obtain the Complement of a Scope Generated by AASM Gem in Rails

AASM gem开发人员确实打算回答这个问题。

我在Rails应用程序模型( Mongoid )中使用AASM gem。 我知道您会为每个定义的状态自动生成范围。 例如,拥有这个...

class Order
  include Mongoid::Document
  include Mongoid::Timestamps
  include AASM

  field :aasm_state

  aasm do
    state :pending, :initial => true
    state :received

    event :receive do
      transitions :from => :pending, :to => :received
    end
  end
end

...将允许我做: Order.pendingOrder.received

我的问题很简单,您是否还生成范围以获取给定状态的补码? 类似于: Order.not_pending获取状态不同于“ pending”订单

我知道很容易建立自己的范围来获得它,就像这样...

scope :not_pending, ->{ ne(aasm_state: "pending") }

...但是我想确保您没有定义它,因为如果您定义了它,我宁愿使用您的范围而不是我自己的范围。

不, AASM没有提供相反的范围。 我们已经考虑过这一点,但最终决定反对,以免给示波器空间造成不必要的负担。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM