Mar*_*ejo 4 ruby-on-rails activeadmin
此处解释了在 ActiveRecord 范围内使用 active admin:Rails3 Active Admin:如何在第一次单击 Shipments 标签时仅显示打开状态记录?
现在我正在尝试使用 params为范围做这件事。
在我的模型中,我有:
#app/models/shipments.rb
scope :by_status, -> (status) { where(status: status) }
Run Code Online (Sandbox Code Playgroud)
我希望能够将其用于app/admin/shipments.rb类似
# app/admin/shipments.rb
scope :by_status 'open'
Run Code Online (Sandbox Code Playgroud)
有没有一种主动的管理方式来做到这一点?
您可以使用一个块:
scope :open do |shipments|
shipments.by_status('open')
end
Run Code Online (Sandbox Code Playgroud)
如果您希望这是默认范围:
scope :open, default: true do |shipments|
shipments.by_status('open')
end
Run Code Online (Sandbox Code Playgroud)