Мне очень жаль, что я потратил так много времени, чтобы поймать это и ответить.Это может быть слишком поздно для ваших целей, но:
Candy не реализует метод find
.Это сделано специально: если объект представляет коллекцию, каждый доступ неявно находит что-то в этой коллекции.По той же причине нет метода save
.Если отображение действительно прозрачно, глаголы, которые означают «Делать это в базе данных», не должны быть необходимыми.
Поэтому, чтобы сделать то, что вы хотите, вы можете просто создать новый объект Things с переданной областью действия.creation:
x_is_allowed = Things.new(allowed: 'X')
... или вы можете сохранить шаг и сделать это методом класса:
x_is_allowed = Things.allowed('X')
... или вы можете начать со всей коллекции и ограничить еепо атрибуту позже:
things = Things.new
x_is_allowed = things.allowed('X')
Итак ... Гм.Все это будет работать. Но. Я должен предупредить вас, что я действительно не в восторге от общего удобства использования Candy прямо сейчас, и в частности с коллекциями и полями массивов.Самая большая проблема - средства доступа: метод []
работает не так, как вы ожидаете, поэтому вам в конечном итоге придется вызывать to_a
и refresh
и другие вещи, которые кажутся липкими и неприятными.
Это нужно исправить, и я сделаю это, как только закончу переписывать драйвер (связанный проект Crunch ).В краткосрочной перспективе, Кенди, вероятно, лучше всего рассматривать как эксперимент для любителей приключений, и я не могу гарантировать, что это сэкономит время, пока интерфейс не будет заблокирован немного лучше.Я сожалею об этом.