2

サイトの管理セクションのJSを保存および参照するためのベストプラクティスは何ですか?

現在、多くのJS(ベンダーとアプリの両方)を参照するapplication.jsがあります。ユーザーが管理者でないときに(不必要に)ロードされないように、いくつかの参照を別のファイルに移動したいと思います。

私は次の動作を探しています:

  1. /assets/javascriptsユーザーが管理者でない場合は、 viaの下にあるすべてのファイルを含むapplication.jsのすべてをロードします//= require_tree .
  2. ユーザーが管理者の場合、通常のユーザーがロードするすべてのものをロードします。さらに、特定のJSをロードします。JSを取得したくないので、どこにJSを保存するかわかりません。require_tree

コードを保存する場所とその呼び出し方法に関する提案をいただければ幸いです。

4

1 に答える 1

2

多分あなたはこのようなことをすることができます。ディレクティブを除いて、管理者ユーザーに必要admin_application.jsなすべてのコードを必要とするファイルを作成し、管理者以外のユーザーのすべての必要なものを含む未変更を維持します。 それらが共通のレイアウトを共有している場合、ヘッダー タグ内にいくつかのロジックを配置して 2 つのケースを処理するのは簡単です。例: .jsrequire_treeapplication.js

application.html.erb

<header>
  <% if current_user.is_admin? %>
    <%= javascript_include_tag "admin_application" %>
  <% else %>
    <%= javascript_include_tag "application" %>
  <% end %>
</header>

これはあなたの問題に対する簡単で公正なアプローチだと思います。

于 2012-08-02T18:33:07.147 に答える