У меня есть следующая задача:ROR: Динамически генерировать URL для «новых» действий на основе атрибута
- Есть категории событий.
- Я создаю событие только с передачей идентификатора категории в «новое» действие событий.
- Мне нужно скрыть URL-адрес «нового» действия (что похоже на/event? Category_id = 1) за slug, которое основано на названии категории. Как этот/large_event,/small_event. Это означает, что передача идентификатора категории «Большие события» должна показывать пользовательскую «новую» форму события с/large_event URL
Я попытался сделать это, используя дружественный драгоценный камень. Может быть, я что-то пропустил, но это позволяет сделать пулю для модели. Но мне нужно сделать slug только для «нового» действия для одной модели, основанной на атрибуте другой модели.
Количество категорий может варьироваться - жесткое кодирование не является вариантом. Есть ли какой-либо изящный способ сделать это?
Посмотрите на документы для маршрутизации http://edgeguides.rubyonrails.org/routing.html –
@KcUS_unico, я нашел один способ - slug category и сделать событие вложенным ресурсом. Я позволю мне иметь URL-адреса, например/small_category/events/new. Но мне придется переписать уже проверенный код. Любые другие идеи? –