我已经从rails 4.2.6升级到rails 5.1,然后开始使用webpack。
使用webpack的所有设置都已完成,但我不知道如何在ActiveAdmin页面上加载javascript文件。
默认情况下,ActiveAdmin加载app/assets/javascripts/active_admin.js.coffee
。
有没有办法在ActiveAdmin页面上加载webpack捆绑的javascript文件?
发布于 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,但替换为您喜欢的任何集成。
发布于 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
文件。
发布于 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
https://stackoverflow.com/questions/44840109
复制相似问题