2015-05-27 2 views
-1

я в настоящее время маршрутизации много страниц в одном методе контроллера:Rails упростить состояние маршрута

type_regexp = Regexp.new([ :members, :businesses, :artists, :piercers, :models, :event_coverage].join('|')) 
get ':type', to: 'users#group', constraints: { type: type_regexp } 

Каждый из них представляет собой название группы, где поле «is_private» является ложным. Можно ли сделать что-то вроде этого, так что я не должен выписать каждое имя группы:

type_regexp = Regexp.new(Group.where('SELECT name WHERE is_private = false').join('|')) 
get ':type', to: 'users#group', constraints: { type: type_regexp } 

Конечно выше никогда не будет работать, надеюсь, я получил свою точку зрения. Я хочу быть в состоянии не беспокоиться о том, когда создано больше групп и необходимо обновить файл маршрута.

Спасибо!

+0

Вы хотите слизню? – daslicious

ответ

0

Я считаю, что ваши маршруты настраиваются, когда ваше приложение запускается, а не по каждому запросу. Итак, теперь вы не сможете сделать свой пример. You ДОЛЖЕН сделать что-то подобное в вашем контроллере. Если ничто не соответствует вашему регулярному выражению, вы можете просто сделать 404.

Смежные вопросы