ruby-on-rails – 自定义Javascript Rails管理员

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 自定义Javascript Rails管理员前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将Google Analytics嵌入式API中的JS添加到我的rails应用程序中,仅用于Rails管理员(其他地方不需要).

我们已经覆盖了Rails Admin Dashboard,现在我们正在努力使用自定义JS.

我在这里找到:https://groups.google.com/forum/#!topic/rails_admin/KgUl3gF5kTg它需要放在app / assets / javascripts / rails_admin / custom / ui.js中.

所以我将所有.js文件和.js.map文件放在目录中:

.
└── custom
    ├── active-users.js
    ├── chart.js
    ├── datepicker.js
    ├── moment.js
    ├── platform.js
    ├── platform.js.map
    ├── polymer.js
    ├── polymer.js.map
    ├── promise.js
    ├── ui.js
    └── viewpicker.js

添加了// = require_tree.在ui.js文件中,但在rails_admin中,我仍然收到:

Uncaught ReferenceError: Polymer is not defined

这意味着未加载.JS文件.

感谢此链接查找上述链接Rails Admin: add javascript library to custom action

编辑1:在Rails 3环境中使用Rails Admin.

编辑2:

因此,出于测试原因,我删除了所有自定义JS / HTML等.

我在ui.js中设置了这个:

//=require_tree .

我在leecher.js中设置了这个:

$(document).ready(function() { document.MY_SIMPLE_VARIABLE = 2; } );

当我重新启动服务器时,我转到rails admin,注销,重新启动服务器,登录.转到chrome中的控制台并键入:

document.MY_SIMPLE_VARIABLE

我收到以下内容

出于测试原因,我添加了一个:

alert("hello world");

但仍然没有触发器.

ui.js和leecher.js的位置是:

应用程序/资产/ Java脚本/ rails_admin /自定义/

这是我目前的Gemfile:

http://pastie.org/private/zrrzjpbx5jq7enpeknsa

编辑3:
如果我将JS代码放入ui.js,它会显示警告!所以它们是包含的问题(// =需要树.)

编辑4:
我正在使用的所有JS文件https://gist.github.com/YOUConsulting/243397c31ea28d217367

简单示例不起作用:
https://gist.github.com/YOUConsulting/571e785d6b6c1ed06d6b

有效的简单示例:
https://gist.github.com/YOUConsulting/52de78aa043239aae707

解决方法

我已经改写了我的答案来描述完整的解决方案,以防其他人将来需要这个解决方案.

app / assets / javascripts / rails_admin / custom / ui.js的工作方式类似于Rails资产管道中的清单文件,因此它支持these directives.

要在自定义下包含所有.js文件,请添加

//= require_tree .

文件的顶部.
如果这不能立即运行,运行

rake tmp:clear

解决问题;)

干杯!

猜你在找的Ruby相关文章