次のような URL があります: /hello/world#/lol/backbone
ルビーで、完全なパス全体にアクセスしたいと思います。私は通常、このようなことをします:request.fullpath
しかし、それは返されるだけ/hello/world
で、#/lol/backbone/
しばらくグーグルでした。見つからないようです。
次のような URL があります: /hello/world#/lol/backbone
ルビーで、完全なパス全体にアクセスしたいと思います。私は通常、このようなことをします:request.fullpath
しかし、それは返されるだけ/hello/world
で、#/lol/backbone/
しばらくグーグルでした。見つからないようです。
サーバー コードでフラグメントを取得できません。URL フラグメント ( #/lol/backbone
) はクライアント側の問題です。ブラウザはフラグメントを解釈しますが、サーバーには送信しません。
フラグメントが必要な場合は、リンクを少し JavaScript でインターセプトしてパラメーターに変換する必要があります。サーバーは次のようなものを見ることができます。
/hello/world?frag=/lol/backbone
からフラグメントを引き出すことができますparams[:frag]
。これはもちろん、JavaScript リンク インターセプターが実行されることを前提としていますが、これは保証されていないため、サーバー側のコードは欠落に備えて準備する必要がありますparams[:frag]
。