У меня есть проектный контроллер / модель.Вместо того, чтобы перечислять проекты на странице #index, я показываю список раскрывающихся списков, который отправляет проекты # select, который находит нужный проект (я убедился, что для каждой комбинации параметров может быть только 1) и пересылаетПользователь на странице #show для этого проекта.
Так что для моих маршрутов я делаю это ...
resources :projects, :only => [:index, :show] do
collection do
get 'select'
end
end
И это нормально, но вспомогательный метод для #select - это "select_projects", что понятно, но в моем случае я действительно хочу «select_project».И я действительно не хочу, чтобы псевдоним это в другом файле.Нет проблем, я могу использовать: как ...
resources :projects, :only => [:index, :show] do
collection do
get 'select', :as => 'select_project'
end
end
Но теперь мой помощник 'select_project_projects'.Поэтому я немного обманываю (все же лучше, чем псевдонимы в другом файле) ...
resources :projects, :only => [:index, :show]
match '/projects/select', :to => 'projects#select', :as => 'select_project'
Похоже, это может сработать, но это не так, потому что / project / select фактически соответствует маршруту для проекта#шоу'.Изменение порядка строк делает хитрость.
match '/projects/select', :to => 'projects#select', :as => 'select_project'
resources :projects, :only => [:index, :show]
Но есть ли более элегантный способ справиться с этим?Я понимаю, что это пограничный OCD, но я хотел бы иметь возможность полностью контролировать имя маршрута в блоке ресурсов.