是否有可能在軌道上的紅寶石做這樣的事情?Rails中的動態範圍映射?
def method(scope: 'all') # so that it would use Model.all by default
Model.scope
end
method(scope: 'last(10)') # to get it to call Model.last(10)
更新:爲了清楚起見,這並沒有特別涉及到在導軌scope類方法。我最初應該避免在使用「範圍」這個術語時避免混淆。請隨意將其視爲model_method
。儘管如此,將會留下這個問題,以保留歷史作爲解決問題的答案之一。
你已經有'Model.all'和'Model.last(10)'in rails –
你的問題到底是什麼,這很令人困惑 –
我希望它動態調用'Model.all'或'Model.last(10) '或'Model.some_other_method',根據我設置的'scope'。 – Magne