Я пытаюсь запомнить набор результатов ActiveRecord
, но не могу заставить его работать должным образом при передаче параметра.Например:
def my_method(parameter)
@my_method ||= {}
return @my_method[parameter] if @my_method[parameter]
@my_method ||= Table.where(field: parameter).order(:sort_by_field)
end
Я получаю сообщение об ошибке, которое order
недоступно для Hash
, или изменение этой ошибки, в зависимости от того, как я настроил запрос, например, добавив .includes
и т. д. Если я просто запомню результирующий набор, он всегда будет возвращать то, что вернул первый вызов метода, независимо от изменения parameter
.Кто-нибудь знает, как этого добиться?Извиняюсь, если это дубликат - я видел несколько вопросов по поводу: запоминания, но ни один из них, по-видимому, не охватывал ActiveRecord
параметров.Заранее спасибо.