Рельсы - условия для поиска - PullRequest
0 голосов
/ 03 февраля 2010
@people = Person.find(:all, :conditions => ['parent_id = :parent_id', params[:person]])

Я хотел бы интегрировать возрастное условие на основе даты рождения. Я фигурирую в модели, я могу написать что-то вроде:

def minimum_age_conditions
  ["people.birthdate <= ?", Date.today - minimum_age.years] unless minimum_age.blank?
end

def maximum_age_conditions
   ["people.birthdate >= ?", Date.tomorrow  - (maximum_age+1).years] unless maximum_age.blank?
end

Так как я могу связать условия контроллера с этими методами в модели? Или лучше все это поместить в условия находки?

1 Ответ

1 голос
/ 03 февраля 2010

Создайте именованную область в вашей модели и поместите туда всю свою логику.Затем снова в контроллере, вы просто делаете:

@people = Person.my_scope

http://api.rubyonrails.org/classes/ActiveRecord/NamedScope/ClassMethods.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...