У меня есть модель, цель, которая содержит несколько записей, которые имеют временную метку. На соответствующем контроллере, я перечисляю месяцы этих записей, выполнив следующие:Rails: записи базы данных с пользовательским маршрутом ...?
В модели/target.rb
def month
self.recorded_on.strftime('%B')
end
В контроллеры/targets_controller.rb
@records = Target.find :all
В мнений/целей/index.html.haml
%ul
- @records.group_by(&:month).sort.each do |month, data|
%li= link_to month, ''
Это прекрасно работает для перечисления доступных месяцев для записей, которые у меня есть. Затем я хочу, чтобы вы могли щелкнуть по месяцу и получить отчет обо всех отчетах за этот месяц по следующему пути, сгенерированному с каждым годом и месяцем: /target/2009/04
Как бы я мог сделай это?
Хорошо, я думаю, что это всего лишь вопрос маршрутизации, основанный на том, что я нашел до сих пор. Я думаю, что мне нужно что-то вроде: map.connect 'target /: year /: month', {: controller => 'target',: action => 'show',: year =>/[0-9] {4} /,: month =>/[0-9] {2} /} ... правильно? Тогда я могу использовать params [: month] & params [: year], чтобы вытащить нужные записи в моем действии на шоу? Но я не могу заставить этот маршрут работать ... что я делаю неправильно? – neezer