2011-12-27 3 views
0

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

/attendants/update_player_status/game/1/maybe/user_hash/$2a$10$1kY8xvOjkqZJJJGWDd0q2Oeyl7kICSBDPTYzGhkJ6pZnE6YA/nJie 

, где последняя часть URL может иметь любые символы, как * (т.е. он может иметь «/» «$» «*» и т.д.)

Мои работы маршруты, но тогда бомбы из на «/» в параметре (как показано выше):

match '/attendants/update_player_status/game/:game_id/:status/user_hash/:user_hash' => 'attendants#update_player_status_using_hash', :as => 'update_player_status_using_hash' 

Любые рекомендации о том, что я должен делать? Как только я вытащу параметр правильно, я буду использовать его для входа пользователя на сайт и обеспечения очень ограниченного доступа.

ответ

1

Одним из вариантов является route globbing (из документации):

match 'photos/*other' => 'photos#unknown' 

# In controller, params[:other] is everything after 'photos' 

Вы также можете использовать регулярное выражение в матче в constraints, чтобы косую черту, согласно this answer.

IMO глоблинг немного более элегантный; это может зависеть от остальных ваших маршрутов, что является лучшим решением.

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

  • Нет связанных вопросов^_^