Meteor/Iron Router1.0以前ではappcacheと組み合わせると、パラメータを含むURLもアクセス履歴に応じてアプリケーションキャッシュに保存されてしまうという不具合がありました。
1.0になった時これを回避するために、パスのハッシュ化が取り入れられました。appcacheを使う場合、Iron Routerのdomain.com/pathameはすべてdomain.com/#/pathnameにリダイレクトされます。
本来のハッシュは、クエリパラメータに移されます。
domain.com/pathname#hash
は
domain.com/#/pathname?__hash__=hash
Iron Router内ではうまく処理されて、ハッシュはappcacheを使わない場合同様、this.params.hashに格納されます。
この変更で2点困ることがあって、1点はlocationオブジェクトが非互換になること。これについては、locationの代わりにIron.Location.get()を使うことで回避できます。
もう1点困ることは、RatchetなどモーダルにaタグでnameをつけてJavaScriptでエフェクトを入れているフレームワークを使うと誤動作してしまうことです。
Ratchetの場合、aタグをクリックするとモーダルのclassにactiveを加えるか削除するかなので、aタグのクリックハンドラにevent.preventDefault()を入れて、ネームハッシュに飛ばないようにすることで動きました。
BootstrapのModalは元々、event.preventDefault()してトグルする実装なので問題なく動きました。