【问题标题】:Active Admin: Including Javascript活动管理员:包括 Javascript
【发布时间】:2012-06-10 16:54:54
【问题描述】:

我想将 Gon (https://github.com/gazay/gon) 添加到我的 activeadmin

但我需要添加一行

<%= include_gon %>

到布局中的头部

但我不知道怎么做?

【问题讨论】:

    标签: ruby-on-rails layout activeadmin


    【解决方案1】:

    添加到 Mexxer 的评论中。转到`config/initializers/active_admin.rb

    在页面底部,您会看到以下内容:

    # == Register Stylesheets & Javascripts
    #
    # We recommend using the built in Active Admin layout and loading
    # up your own stylesheets / javascripts to customize the look
    # and feel.
    #
    # To load a stylesheet:
    #   config.register_stylesheet 'my_stylesheet.css'
    #
    # To load a javascript file:
    #   config.register_javascript 'my_javascript.js'
    

    取消注释最后一行并将 my_javascript.js 替换为您的文件,如下所示...

    # To load a javascript file:
    config.register_javascript 'invoices.js'
    

    该文件可以位于app/assets/javascripts/invoices.js

    【讨论】:

    • register_javascript 选项已被弃用,取而代之的是要求 active_admin.js 中的 JS 文件
    【解决方案2】:

    这也可能是相关的:

    # The Active Admin equivalent of putting this in your application layout:
    # <head>
    #   <%= cloudinary_js_config %>
    # </head>
    
    module ActiveAdmin
      module Views
        module Pages
          class Base < Arbre::HTML::Document
    
            alias_method :original_build_head, :build_active_admin_head
    
            def build_active_admin_head
              original_build_head
    
              within @head do
                text_node include_gon
              end
            end
    
          end
        end
      end
    end
    

    来源:https://gist.github.com/seanlinsley/9786622

    【讨论】:

      【解决方案3】:

      register_javascript 配置将在 V2 中弃用。

      因此,您可以更改 `assets/javascripts/active_admin.js,而不是更改 config/initializers/active_admin.rb,只需将您的 .js 的名称文件放在类似

      //= require active_admin/base
      //= require activeadmin_addons/all
      //= require masks
      

      此文件位于 assets 文件夹内,如 mask.js

      【讨论】:

        【解决方案4】:
        Rails.application.config.after_initialize do
          javascripts = [] 
          javascripts << "//maps.googleapis.com/maps/api/js?sensor=false&key="
          javascripts += ActiveAdmin.application.javascripts.to_a
          ActiveAdmin.application.javascripts.replace javascripts
        end
        

        https://github.com/activeadmin/activeadmin/issues/340#issuecomment-92512556

        【讨论】:

          【解决方案5】:

          现在有

          active_admin_namespace.head
          

          非常方便。不要忘记 html_safe 连接字符串。

          【讨论】:

            猜你喜欢
            • 2011-11-27
            • 2012-03-23
            • 2018-04-18
            • 1970-01-01
            • 1970-01-01
            • 2012-07-27
            • 1970-01-01
            • 1970-01-01
            • 2013-08-10
            相关资源
            最近更新 更多