3

私の Rails アプリには、異なるアクション用に 2 つのレイアウト/コントローラーがあります。

本質的に、ルートをゲートウェイ#インデックスに一致させ、他のいくつかのページと/一緒に/login/register

/dashboard /dashboard/action /explore一度ログに記録された実際のアプリには、などの独自の URL セットがあります。

IE のプッシュステートにより、URL が変更さ/#dashboardれ、ゲートウェイ ページのレイアウト/JS が読み込まれます。

root 用の私の rails コントローラーには次のコードがあり、IE のすべてのバージョンで無限ループが発生します。

if @current_user
  redirect_to '/dashboard/lists'
end

以下は、バックボーンの履歴初期化子 (coffeescript) です。

Backbone.history.start 
  pushState: true
  root: '/dashboard/'

この設定を使用しても、アプリケーションはアプリケーションではなくゲートウェイ レイアウト/JS をレンダリングし、誤った URL を同じままにします (ルートを /dashboard に設定しません)。

ルートに別のレイアウトを使用しながら、IE にアプリケーションのレイアウト/JS/CSS をロードさせるにはどうすればよいですか?

4

2 に答える 2

3

ルートを無効なルートに設定していました。私は次のことをすることになりました:

Backbone.history.start 
  pushState: true
  root: '/app/'

そして、アプリケーションテンプレートを使用したコントローラーへのルートを作成します。

于 2012-08-28T23:03:49.990 に答える
1

バックボーンの Web サイトから:

RESTful な永続性のために、Backbone.Router を介した履歴サポートと Backbone.View を使用した DOM 操作には、json2.js といずれかの jQuery が含まれます。

それで、あなたは含めましたjson2.jsか?

于 2012-09-10T12:34:56.193 に答える