Rails 4中的两个不同编译资产

时间:2014-02-09 23:46:21

标签: javascript ruby-on-rails ruby heroku

如何在Rails中有两个单独的编译资源文件?

例如,我想要一个public.min.js文件和一个admin.min.js文件。

2 个答案:

答案 0 :(得分:2)

像你这样构建你的应用程序:

- app
  - assets
    - javascripts
      - admin
        (all admin-facing js files go here)
      - public
        (all public-facing js files go here)
      admin.js
      public.js
    - stylesheets
      - admin
        (all admin-facing css files go here)
      - public
        (all public-facing css files go here)
      admin.css
      public.css

admin.js

//= require_tree ./admin

public.js

//= require_tree ./public

admin.css

/*
 *= require_directory ./admin
 */

public.css

/*
 *= require_directory ./public
 */

app/views/layouts/application.html.erb(或您的主要布局文件中):

<!-- Change this: -->

  <%= stylesheet_link_tag "application", media: "all" %>
  <%= javascript_include_tag "application" %>


<!-- To this: -->

  <%= stylesheet_link_tag "public", media: "all" %>
  <%= javascript_include_tag "public" %>

在每个面向管理员的视图中,通过一些布局或手动将其添加到每个视图中:

  <%= stylesheet_link_tag "admin", media: "all" %>
  <%= javascript_include_tag "admin" %>

config/environments/production.rb中,在configure块中添加此行:

  config.assets.precompile += %w( public.js admin.js public.css admin.css )

答案 1 :(得分:0)

在主应用程序布局文件中(通常为:/app/views/layouts/application.whatever)

在head元素中定义2个单独的js文件。

javascript_include_tag 'public'
javascript_include_tag 'admin'

然后在您的assets / javascripts文件夹中创建名为“public”和“admin”的2个单独的js文件,并使用这些文件将您的javascript添加到。