bra*_*boy 5 ruby-on-rails activeadmin
我想对我的主动管理启用的rails应用程序进行一些分析.对于这一点,我需要粘贴一些<script>与<noscript>刚刚之前的代码</body>在我的布局文件的标签.不幸的是,我无法做到这一点,因为application.html布局文件似乎无效,因为ActiveAdmin呈现了自己的布局文件.
是否有一个钩子/地方,我可以插入自定义的HTML代码?
使用ActiveAdmin 0.6.0和Rails 4.0.5进行测试.
您还可以覆盖活动管理员使用的arbre视图来呈现页脚.在active_admin初始化程序中添加:
# config/initializers/active_admin.rb
require 'admin/analytics_footer'
ActiveAdmin.setup do |config|
config.namespace :admin do |admin|
config.view_factory.footer = Admin::AnalyticsFooter
end
end
Run Code Online (Sandbox Code Playgroud)
并定义视图:
# lib/admin/analytics_footer.rb
module Admin
class AnalyticsFooter < ActiveAdmin::Views::Footer
def build
super
render('layouts/analytics')
end
end
end
Run Code Online (Sandbox Code Playgroud)
并将您的ga跟踪代码放入app/views/layouts/_analytics.html.erb.服务器重新启动后,代码段应显示在页面末尾的页脚内.
好吧,首先你必须将存储库克隆到你的 Rails 应用程序中,通常你会将它放在供应商目录中,但 Rails 会抛出这个恼人的警告,表明它将弃用供应商目录样式 dir 的使用,但它不会如果您要使用 3.* 版本进行生产,那么这很重要,因此只需在 Rails 应用程序中的供应商或 lib 目录中执行此操作即可。
git clone git://github.com/gregbell/active_admin.git
现在更改您的Gemfile并从您设置的目录加载 gem
gem 'activeadmin', :path => 'lib/activeadmin'
现在您有了自己的activeadmin 版本,因此无论您需要编辑什么,都可以直接从该目录进行,包括更改它捆绑的默认布局。
几句话的建议:
尽管此方法允许您更多地自定义活动管理,但您完全意识到要将其更新到较新的版本将需要您git pull在必要时进行一些操作和合并。
我将这个方法与 jquery-ui-rails 插件和另一个 gem 一起使用,它工作得非常好,而且如果你将你想要的钩子添加到 gem 本身,你可以为 gem 做出贡献。祝你好运!
- - 编辑 - -
正如您在评论中指出的那样,activeadmin 并不完全按照您的预期工作,但不用担心,它仍然是一个简单的解决方案。在幕后,activeadmin 使用arbre由同一开发人员创建和维护的名为的东西。
https://github.com/gregbell/arbre,它只是一个DOMruby 库。
所以你要做的是:
转到您刚刚克隆的 activeadmin 目录中的此文件lib/active_admin/views/footer.rb
这是 activeadmin 应用程序的页脚,正如您在build方法中看到的那样,您可以插入诸如add_scripts方法之类的内容,并在下面添加
def add_scripts
script :src => 'http://yoursource.com'
end
Run Code Online (Sandbox Code Playgroud)
我不完全确定arbre语法是如何流动的,但应该不难弄清楚。
祝你好运!
| 归档时间: |
|
| 查看次数: |
2828 次 |
| 最近记录: |