2012-04-18 2 views
0

Что равнозначно match 'aliased/route/here' => 'pointed/route/here'?Rails 2.3.8 Маршрутный эквивалент Rails 3 соответствует

Я стучу головой о стену здесь, потому что я не могу заставить Devise работать с разными URL-адресами входа для той же модели. Если у кого-нибудь есть советы по этой проблеме, я ценю это!

Текущая версия моих маршрутов выглядит следующим образом:

auth.devise_for :somerole, :class_name => 'MainRole', :as => 'niceurl' 
auth.devise_for :anotherrole, :class_name => 'MainRole', :as => 'otherurl' 

Но вариант :class_name не всю работу: Я все еще требуется, чтобы создать все наши правила хелперы для каждой роли я определяю.

В настоящее время я использую Devise 1.x в среде Rails 2.3.8, поэтому решение, предлагаемое на Github и упомянутое по другим вопросам, не будет работать.

Заранее благодарен!

Update

Хорошо, так что я нашел обходной путь для Разрабатывают работы: Я создал метод в моем application_controller, который собирает все свои различные роли и присваивает его mainrole следующим образом:

def current_mainrole 
    current_somerole || current_anotherrole 
end 

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

ответ

0

Эквивалент в 2.3.8 является

map.contact '/contact', :controller => 'pages', :action => 'contact' 

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

Взгляните на эти ссылки для дальнейшего чтения:
Ruby on Rails Tutorial 2.3
Ruby on Rails Guides 2.3.8

Надеюсь, что я помог.

+0

Я знаком с именованными маршрутами, но, с помощью Devise, это немного сложнее, чем просто указывать на контроллер и действие, к сожалению. Разработчик также берет url, который вы используете для учета именования помощников и прочее, поэтому я действительно хочу указать один URL-адрес другому. –

+0

Мои приличия. Маленький, с которым я играл, был с Rails 3, и я решил написать свое. С моей стороны это было плохое предположение ... –

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