Ruby on rails 3 javascript_include_标记用于管理部分
存储和引用站点管理部分的JS的最佳实践是什么 目前,我有一个application.js,它引用了很多js(供应商和应用程序)。我想将一些引用移动到另一个文件中,这样当用户不是管理员时就不会加载(不必要的) 我正在寻找以下行为:Ruby on rails 3 javascript_include_标记用于管理部分,ruby-on-rails-3,Ruby On Rails 3,存储和引用站点管理部分的JS的最佳实践是什么 目前,我有一个application.js,它引用了很多js(供应商和应用程序)。我想将一些引用移动到另一个文件中,这样当用户不是管理员时就不会加载(不必要的) 我正在寻找以下行为: 如果用户不是管理员,请通过/=require\u树加载application.js中的所有内容,包括/assets/javascripts下的所有文件。 如果用户是admin,则加载普通用户将加载的所有内容。此外,加载一些特定的JS。我不确定将JS存储在哪里,因为我不希
/=require\u树加载application.js中的所有内容,包括/assets/javascripts
下的所有文件。
require\u tree
如果您对代码的存储位置和调用方式有任何建议,我们将不胜感激。也许您可以这样做。创建一个
admin\u application.js
文件,该文件需要管理员用户所需的所有.js
代码,不包括require\u树
指令,并维护一个未更改的application.js
,该文件包含非管理员用户的所有要求和内容。如果它们共享一个共同的布局,那么在头标签中放入一些逻辑来处理这两种情况就足够容易了。例如: application.html.erb
<header>
<% if current_user.is_admin? %>
<%= javascript_include_tag "admin_application" %>
<% else %>
<%= javascript_include_tag "application" %>
<% end %>
</header>
我认为这是解决您问题的一种简单而公平的方法。MurifoX,这行不通。我有几乎相同的问题,当您将js放入assets/javascript rails中时,会自动加载它。有没有更好的建议来解决这个问题?Thnx我应该将管理文件保存在单独的目录中吗?我应该在非管理员JS中调用require树吗?如果您在布局页面上加载的任何javascript文件上放置
require_树
,它将只加载资产/javascript文件夹中的所有.JS
文件。如果您想要更多控制,不要使用require_tree指令,而是手动要求所有需要的javascript。这很容易出错,但它可以工作。