此处解释了在 ActiveRecord 范围内使用事件管理员:Rails3 Active Admin: How to display only Open status records when first click on Shipments tag?

现在我正在尝试使用参数 为范围 执行此操作。

在我的模型中,我有:

#app/models/shipments.rb
scope :by_status, -> (status) { where(status: status) }

我希望能够在 app/admin/shipments.rb 中使用它,就像
# app/admin/shipments.rb
scope :by_status 'open'

有没有一种主动的管理方式来做到这一点?

最佳答案

您可以使用一个块:

  scope :open do |shipments|
    shipments.by_status('open')
  end

如果您希望这是默认范围:
  scope :open, default: true do |shipments|
    shipments.by_status('open')
  end

关于ruby-on-rails - 带参数的 Rails 事件管理范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34671870/

10-11 04:46