【问题标题】:ActiveRecord mapping selectionActiveRecord 映射选择
【发布时间】:2015-11-12 21:29:58
【问题描述】:

我有一个Order,其中有很多Bids

如果我要做order.bids,我会得到一个包含两个bid 对象的数组。每一个bid objects has a boolean field called accpeted。我如何只返回接受的出价?

类似order.bids.accepted?

我想我会将它放在 Bid 模型中,但似乎无法正确使用语法。

【问题讨论】:

    标签: ruby-on-rails ruby activerecord activemodel


    【解决方案1】:

    你需要使用 Rails scopes:

    class Bid < ActiveRecord::Base
      scope :accepted, -> { where(accepted: true) }
    end
    

    之后,您可以使用以下方式访问已接受的出价:

    order.bids.accepted
    

    (最后应该没有问号。)

    【讨论】:

    • duuuh 范围是要走的路!
    猜你喜欢
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多