2010-11-11 2 views
0

У меня есть именованный маршрут к почтовому ящику пользователя, который поддерживается ресурсом сообщений. Я хочу, чтобы пользователи могли получать доступ только к их почтовому ящику с моего именованного пути и удалять «/ messages» в качестве опции.Как заменить именованный маршрут для пути ресурса в Rails 3?

resources :messages 
    match "/u/:nickname/inbox" => "messages#index", :as=>:inbox 

Есть ли простой способ сделать это? Должен ли я просто создать соответствующий путь для «/ messages»?

+0

Был ли мой новый ответ работать? – rwilliams

+0

да, спасибо. – picardo

ответ

2

Решение 1:

Я бы создать путь для сообщений и удалить resources :messages

Этот подход будет удалить все нормальные маршруты для сообщений и вам придется заново добавить те, которые вы хотите.

Решение 2:

удалить только параметр индекса для маршрутов и позволяют все другие стандарты маршрутов быть одинаковыми.

resources :messages, :except => :index 
match "/u/:nickname/inbox" => "messages#index", :as=>:inbox 
+0

Когда я удаляю строку ресурсов, я получаю «Нет маршрута, сопоставляемый с ошибкой {: action =>" create ",: controller =>" messages "}" в новом шаблоне. – picardo

+0

Поскольку мы удалили карту ресурсов, вам придется вручную добавить маршруты, которые вы хотите использовать для сообщений. – rwilliams

+0

Я отредактировал свой ответ с альтернативным решением. – rwilliams

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