2

如果您定义一个 JavaScript 函数,然后从 erb 模板调用它,则该函数不会被调用。为什么?单击此链接应显示警报,但事实并非如此。

= link_to "Add Sprout", new_sprout_path, remote: true

控制器:

def new
  @sprout = Sprout.new
  respond_to { |format| format.js }
end

然后在模板中我调用一个函数:

# sprouts/new.js.erb
doSomething();

该函数在我的 js 文件中定义:

# javascripts/sprouts.js.coffee
doSomething = ->
  alert "yum ghum I am a new sprout."

JavaScript 回来了。我可以在控制台中看到它。但我没有看到任何警报。为什么这不起作用?

我正在使用 Rails 4。

4

1 回答 1

9
@doSomething = -> alert "yum ghum I am a new sprout."

或者

window.doSomething = -> alert "yum ghum I am a new sprout." # I prefer this approach, as it's more explicit.
于 2013-09-03T15:22:59.180 回答