Динамический виртуальный атрибут? - PullRequest
0 голосов
/ 09 февраля 2012

Моя модель:

class Student < ActiveRecord::Base
has_many :lack_knowledge_points, :through => :knowledge_point_infos,
:conditions => ['knowledge_point_infos.level <= ?',10],:source => :knowledge_point

Я хочу, чтобы 10 был динамическим

Какая моя лучшая практика?

Определите метод и find_by_sql? Или Rails может сделать что-то еще для меня?

1 Ответ

0 голосов
/ 09 февраля 2012

Мне не ясно, как вы хотите, чтобы «уровень» был динамичным. В любом случае, вы можете использовать область с лямбда-выражением или определить метод в модели.

#If you want it to return an array
def lack_knowledge_points(threshold)
  knowledge_point_infos.where('level <= ?', threshold).map{|info|info.knowledge_point}
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...