【发布时间】:2014-10-05 12:49:26
【问题描述】:
我的 Rails 4 应用程序中的一个视图会加载一个简单的 javascript,以便在页面加载后创建 Ace 编辑器的实例...
$(function() {
var editor = ace.edit("editor");
}):
在那个视图中,我有一个简单的 ajax 按钮...
<%= button_to "Set Content", {controller: :pages, action: 'set_content'}, remote: true %>
请求一些不显眼的 javascript...
editor.setValue("New content has been set");
但这不起作用。我猜这不起作用,因为editor 没有定义。由于 ajax 调用静默失败,而且我不知道如何使用与调试普通 javascript 代码相同的 Chrome 工具来调试不显眼的 javascript 代码,因此我无法验证这是实际问题,但这是我的最佳猜测。
我的印象是,如果我写var editor,那么它被声明为一个全局变量,我的不显眼的javascript应该能够访问。
我的问题是……
- 如何在不显眼的 javascript 代码中访问全局变量?
- 由于全局变量被认为是邪恶的,有没有更好的方法从我不显眼的 javascript 中访问
editor变量?
提前感谢您的智慧!
【问题讨论】:
标签: javascript jquery ruby-on-rails ajax