【发布时间】:2017-10-12 04:02:22
【问题描述】:
假设我有一些模型
class MyModel < ApplicationRecord
scope :opened, -> { where(status: 'open') }
scope :closed, -> { where(status: 'closed') }
scope :colored, -> { where.not(color: nil) }
# etc
end
我可以像这样调用作用域链
MyModel.opened.colored
MyModel.send('opened').send('colored')
但是如何根据动态范围令牌列表进行范围链接?我是说
scopes = ['opened', 'colored', ...]
这个列表可能很长,我需要一些通用的解决方案来尽可能简单,比如MyModel.send_list(scopes)。
【问题讨论】:
标签: ruby-on-rails activerecord ruby-on-rails-5 rails-activerecord