首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有管理名称空间的特定于控制器的资产?

具有管理名称空间的特定于控制器的资产?
EN

Stack Overflow用户
提问于 2012-06-13 08:29:45
回答 1查看 438关注 0票数 2

我有一个控制器"organizations“,它既可以作为普通资源使用,也可以在"admin”下使用名称空间。

我需要添加一些只与组织操作相关的javascript,它既适用于admin名称空间,也适用于非admin名称空间。我在指南中读到,我应该创建一个文件"organizations.js.coffee“,并在我的布局文件中包含类似以下内容:

代码语言:javascript
复制
<%= javascript_include_tag params[:controller] %>

问题是params:controller包含admin名称空间的/admin。

我应该怎么做才是正确的呢?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-06-13 08:52:57

有几点。首先,在这种情况下,这应该是可行的:

代码语言:javascript
复制
<%= javascript_include_tag params[:controller].split('/').last %>

然而,如果你在每个页面上都有这样的文件,并且一个控制器没有JS文件,那么事情就会崩溃,所以你可能想要这样做:

代码语言:javascript
复制
<% if params[:controller].split('/').last == "organization" %>
  <%= javascript_include_tag "organisation" %>
<% end %>

可能值得将其添加为辅助方法,例如:

代码语言:javascript
复制
module OrganizationHelper
  def organization_javascript
    javascript_include_tag "organization" if params[:controller].split('/').last == "organization"
  end
end

<%= organization_javascript %>

此外,在较新版本的Rails中,可以使用controller_name而不是params[:controller]

您可能还想考虑只将organization.js呈现到您的application.js中(这将在Rails 3.1及更高版本中的assets管道中自动完成)。如果它包含用户在访问期间可能会访问的JS,那么减少需要下载的文件数量可能是值得的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11006705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档