在某些页面的标题中插入特定的js - 活动管理员

时间:2012-10-09 22:18:08

标签: jquery ruby-on-rails highcharts activeadmin head

我使用主动管理员,在我的应用程序中,有不同的.js必须加载到特定页面(不是全部)。

遵循此主题Best way to add page specific javascript in a Rails 3 app?看起来很简单,但是编译了活动管理员中的布局。

我使用了一种解决方法来覆盖页脚:

    class ActiveAdmin::Views::Pages::Base < Arbre::HTML::Document
 private
  # Renders the content for the footer
  def build_footer
    div :id => "footer" do
      para "Copyright &copy; #{Date.today.year.to_s}- All rights reserved ".html_safe
    end
  end
end

如何在某些页面的标题中添加一些.js?如何解决方法? (如果可能的话,可以使用“yield:head”或类似的东西,所以我可以从任何地方轻松地调用它;))

编辑注意:我想要包含的js渲染一个highcharts

2 个答案:

答案 0 :(得分:14)

我正在使用ActiveAdmin 0.5.0的主分支(截至2012年11月23日),并且有一个Arbre构建器方法within正在为我工​​作。

show do 
   within @head do
      script :src => javascript_path('somefile.js'), :type => "text/javascript"
   end
end 

您可以在ActiveAdmin::Views::Pages::Base#build_active_admin_head中查看其使用示例。

希望这有帮助。

答案 1 :(得分:1)

我找到了一个&#34;替代品&#34;解决方案,基本的一个:使用jquery标签$(document).ready(...)简单插入html主体中的脚本(但性能和干编码都会丢失)