2011-12-27 2 views
0

私は、ユーザーがURLで暗号化されたパスワードを使用すると自動的にログインすることを許可したいと思います。私はレールのルートと一致たい以下のURLを持っている:URLの後半部分は、*のように(すなわち、それは「/」「$」を持つことができ、任意の文字を持つことができます私のURLの最終的なパラメータに一致するようにするにはどうすればよいでしょうか?

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

「*」など)

私のルートは動作しますが、パラメータに「/」にそれ爆弾アウト(上見られるように):私は何をすべきかについて

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' 

任意の勧告?いったん私はパラメータを正しくプルすると、私はそれを使用してWebサイトにユーザーをログインさせ、非常に限られたアクセスを許可します。

答えて

1

1つのオプションは、(ドキュメントから)route globbingです:

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

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

ます。またthis answerごとに、スラッシュを許可するように試合のconstraintsで正規表現を使用することができます。

IMOグロビングはもう少しエレガントです。最善の解決策である残りのルートに依存する可能性があります。

関連する問題