したがって、2 つの異なるナビゲーション ヘッダーを持つ Rails アプリケーションがあります。1 つは大部分のページで使用され、もう 1 つは少数のページでのみ使用されるナビゲーション ヘッダーです。さらに、ナビゲーションは application.html.erb ページ (アプリケーションのすべてのページ間で共有) に読み込まれるため、ユーザーがページを更新しない限り、ナビゲーション html がサーバーから更新されることはありません。また、各ページは (pjax を使用して) ajax を介して読み込まれるため、異なるナビゲーション ヘッダーを必要とする 2 つのページ間を移動しても、ナビゲーション ヘッダーは更新されません。
可能な解決策がいくつかありますが、持っているすべてのビューにコードを追加する必要がないので、それらは好きではありません。主な解決策は、ナビゲーション ヘッダーを (グローバルな application.html.erb ではなく) ビューに移動するか、すべてのページに JavaScript を追加して、ナビゲーションが正しいものであることを確認し、そうでない場合はそれを置き換えることです。しかし、それを置き換えるために、部分的でモデルからのデータを含むhtmlをロードする方法がわかりません。
注: 各 URL に直接アクセスしても問題ありません。
これはかなり一般的な問題であると思われるため、簡単なアプローチが欠けているように感じますが、検索中に何も見つかりません。
編集:そして私はjqueryを使用しています