Я имею дело с многочисленными расчетами, чтобы привести различные значения в пределах модели к простому ИСТИНО или ЛОЖЬ. Проблема в том, что эти вычисления довольно интенсивные, а не то, что я хочу, чтобы создать длинный, трудный для выполнения SQL-запрос. Я предпочел бы просто провести весь расчет в рамках метода, который может проверить модель при возврате записей.Rails 3, Методы модели/Вычисляемые атрибуты
Я пробовал множество способов сделать это, и, глядя на другие подобные подвиги, другие подталкивают newbs как я к SQL, который может служить большинству целей, но не будет служить мне, поскольку выполняемые вычисления несколько внешнее по отношению к модели ,
Модель:
class Quality < ActiveRecord::Base
...
def passed_inspection
[code that calculates based on values in model]
end
Контроллер:
@records = Quality.where('passed_inspection = true')
Вид:
Did pass inspection?: <%= record.passed_inspection %>
вы можете разместить пример расчетов, которые вы пытаетесь? – ScottJShea
В чем проблема с вашей помощью? Если вы не хотите, чтобы длинный оператор SQL использовал код, метод модели. Если вы не хотите вводить код вычисления в класс модели, тогда создайте вспомогательный метод контроллера, который принимает в качестве входных данных модель и возвращает TRUE или FALSE. –
@MatteoMelani У меня уже есть вычисления, представленные как помощники вида, но мне также нужно извлекать записи на основе pass/fail. Например, у меня есть представление, которое выводит только неудачные записи в таблицу. – Nick