0

У меня есть модель X с атрибутом thedate типа datetime.Как сделать атрибут переходного процесса доступным в динамических искателях?

Каков самый легкий способ сделать год года для динамических искателей?

Примеры:

X.find_by_year(2012) 
X.find_by_location_and_year('here', 2012) 
X.find_by_year_and_name(2012, 'name') 
X.find_all_by_year(2012) 
... 

До сих пор я нашел this custom finder approach, но, видимо, это потребует, чтобы реализовать каждую нужный метод вручную. Я хочу этого избежать.

ответ

0

Лучше сказать, что это сделать, а не пытаться использовать динамическую находку. Вы можете создать области действия год и объем и использовать его

scope :year, lambda { |year| { ['thedate > ? AND thedate < ?', DateTime.now.change(:year => year).beginning_of_year, DateTime.now.change(:year => year).ending_of_year] } 

Вы можете использовать по X.year(2012)

+0

При таком подходе я думаю, мне нужно реализовать любые необходимые комбинации (например, год и название) вручную. Правильно? Вероятно, это хороший вариант. – user569825

+0

да вы. но вы можете его повторно использовать и объединить – shingara