javascript - 如何在 ActiveAdmin 中包含 gazon/gon

标签 javascript ruby-on-rails activeadmin

我正在使用 ActiveAdmin 开发一个 Rails 项目,我想使用“gem gon”来处理我的 javascripts 文件中的数据发送。 我遇到的问题是在activeadmin的dashboard.rb中无法识别gon变量。

undefined local variable or method `gon'

这是我在 railscast 指南中的代码 instructs :

# creat gon variable
gon.test = "hey there"
render partial: 'graph/dashboard_graph.html.erb' #this is a partial

我找到了这篇文章,但我遇到了不同的情况。 https://github.com/activeadmin/activeadmin/issues/2450

我也发现这个有相同的场景,但没有明确的解决方案: Active Admin: Including Javascript

我一整天都被这个错误所困,一直在寻找如何在 ActiveAdmin 中正确包含 gon,但我找不到解决方案。我希望你能提供意见。

谢谢。

Chkm8

最佳答案

在/config/initializers/中创建新文件,例如:activeadmin.rb 并粘贴:

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 Gon::Base.render_data({ })
          end
        end

      end
    end
  end
end

我遇到了同样的问题,这对我有用。 如果您使用的不是 Rails 4 而不是 Gon::Base.render_data({ }),它可能是 include_gon

关于javascript - 如何在 ActiveAdmin 中包含 gazon/gon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29488362/

相关文章:

javascript - 重用 kendo-ui 模板

c# - 如何获得字母数组的所有可能模式

ruby-on-rails - 带有 Capybara have_css 匹配器的 Rspec 不起作用

mysql - 在 Rails 中动态保存分数排名

ruby-on-rails-3 - 事件管理员更改默认模型 admin_user

ruby-on-rails - Active Admin has_many 可选择的记录列表

javascript - 当使用相同类的每个后续元素也是第一个子元素时,如何使用特定类选择页面上的第一个元素?

javascript - Ag 网格 - 如何对列进行排序以将所有空值显示为最后?

javascript - 检查javascript的功能测试

ruby-on-rails - 让 ActiveAdmin 使用包含日期过滤器?