У меня есть поле orde на одной из моих моделей, эта модель также имеет is_milestone? метод, который возвращает true или false в зависимости от того, является ли заказ либо 50-й, либо 100-й вехой.Метод Rails Model в активном запросе
Я хочу выбрать все элементы, которые являются вехами, но это можно сделать, используя is_milestone? метод?
я в настоящее время:
@milestones = Model.where(:is_milestone?).order('order ASC')
Но это не работает, и я думаю, что у меня есть синтаксис неправильно, но не знаете, как это должно быть написано.
Любые мысли?
Правильно, имеет смысл. Вместо этого переходим к новому полю в маршруте базы данных. Благодаря! – rctneil
Я добавил следующее, но поле не устанавливается в моей БД. Есть идеи? after_save do | запись | record.is_milestone = true, если record.is_milestone? end – rctneil
'is_milestone?' - это метод, который рельсы будут динамически добавлять к вашей модели, потому что вы определили его как логический атрибут. Вы должны скорее протестировать экземпляр непосредственно в своем обратном вызове или создать новый метод с уникальным именем, чтобы выполнить этот тест для вас. – Jon