Vin*_*zio 8 ruby-on-rails ruby-on-rails-3 rails-admin ruby-on-rails-3.2
我想将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
Run Code Online (Sandbox Code Playgroud)
我已经//= require_tree .
在ui.js
文件中添加但在rails_admin中我仍然收到:
Uncaught ReferenceError: Polymer is not defined
Run Code Online (Sandbox Code Playgroud)
这意味着未加载.JS文件.
感谢此链接以查找上述链接:Rails管理员:将javascript库添加到自定义操作
编辑1:在Rails 3环境中使用Rails Admin.
编辑2:
因此,出于测试原因,我删除了所有自定义JS/HTML等.
我在ui.js中设置了这个:
//=require_tree .
Run Code Online (Sandbox Code Playgroud)
我在leecher.js中设置了这个:
$(document).ready(function() { document.MY_SIMPLE_VARIABLE = 2; } );
Run Code Online (Sandbox Code Playgroud)
当我重新启动服务器时,我转到rails admin,注销,重新启动服务器,登录.转到chrome中的控制台并键入:
document.MY_SIMPLE_VARIABLE
Run Code Online (Sandbox Code Playgroud)
我收到以下内容:
出于测试原因,我添加了一个:
alert("hello world");
Run Code Online (Sandbox Code Playgroud)
但仍然没有触发器.
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
Cec*_*Cec 13
我已经改写了我的答案来描述完整的解决方案,以防其他人将来需要这个解决方案.
app/assets/javascripts/rails_admin/custom/ui.js的工作方式类似于Rails资产管道中的清单文件,因此它支持这些指令.
要在自定义下包含所有.js文件,请添加
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
在文件的顶部.如果这不能立即运行,运行
rake tmp:clear
Run Code Online (Sandbox Code Playgroud)
会解决问题;)
干杯!
归档时间: |
|
查看次数: |
4459 次 |
最近记录: |