首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ActiveAdmin能加载webpack捆绑的javascript吗?--Rails5.1

ActiveAdmin能加载webpack捆绑的javascript吗?--Rails5.1
EN

Stack Overflow用户
提问于 2017-06-30 14:38:07
回答 4查看 2.8K关注 0票数 6

我已经从rails 4.2.6升级到rails 5.1,然后开始使用webpack。

使用webpack的所有设置都已完成,但我不知道如何在ActiveAdmin页面上加载javascript文件。

默认情况下,ActiveAdmin加载app/assets/javascripts/active_admin.js.coffee

有没有办法在ActiveAdmin页面上加载webpack捆绑的javascript文件?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-07-01 21:07:04

Webpack还没有得到官方的支持。我们现在使用的方法是用猴子补丁ActiveAdmin::Views::Header来包含标签来加载Webpack生成的输出,例如。

class ActiveAdmin::Views::Header < Component
  def build(namespace, menu)
    ...
    render "application/custom_header_tags"
  end
end

在我们的例子中,我们的custom_header_tags.erb使用React On Rails,但替换为您喜欢的任何集成。

票数 4
EN

Stack Overflow用户

发布于 2017-11-01 21:21:03

我有点晚了,但我相信包装方法比完全覆盖类更好。此外,猴子修补Header将导致标签在带有id="header"的div中呈现。为了在<head />中呈现它们,我执行了以下操作:

ActiveAdmin::Views::Pages::Base.class_eval do
  alias_method :original_build_active_admin_head, :build_active_admin_head

  def build_active_admin_head(*args, &block)
    original_build_active_admin_head(*args, &block)
    within @head do render '/custom_headers' end
  end
end

将这个文件放到config/initializers文件夹中(这样它就不会在每次处于开发模式时都被重新加载,从而导致无限循环),然后用您需要的东西创建一个app/views/_custom_headers.html.erb文件。

票数 13
EN

Stack Overflow用户

发布于 2020-07-02 14:27:40

对于从Rails 6.0开始的新应用程序,Webpacker已经成为默认的资源生成器。您也可以在安装时或手动更新配置以启用use_webpacker选项,从而选择使用Webpacker for ActiveAdmin assets。

在安装active_admin时:

rails g active_admin:install --use_webpacker

手动添加到config/initializers/active_admin.rb

ActiveAdmin.setup do |config|
  config.use_webpacker = true
end

并运行生成器以获取默认的Active Admin资产:

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

https://stackoverflow.com/questions/44840109

复制
相关文章

相似问题

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