ERB模板内的另一个文件形式定义调用CoffeeScript的方法

问题描述 投票:1回答:1

我不应该能够从ERB模板中调用此方法的CoffeeScript?它不工作,但现在看来似乎应该。

setup.就是.coffee

class SetupStepTwo

  include @

  constructor: ->
    @resetView()

  resetView : ->
    console.log('cool');

window.ns1.SetupStepTwo = SetupStepTwo

$ ->
  new SetupStepTwo()

update.js.erb

window.ns1.SetupStepTwo.resetView();
ruby-on-rails coffeescript erb
1个回答
0
投票

SetupStepTwo类有一个名为resetView一个实例方法,但你要称呼其为一个类的方法(或者至少是通过如(Java的一个类的方法|咖啡)脚本),当你这样说:

window.ns1.SetupStepTwo.resetView();

如果你真的想用resetView作为一个类的方法,然后你的类应该看起来更像是这样的:

class SetupStepTwo
  constructor: ->
    @constructor.resetView()

  @resetView : ->
    console.log('cool')

@@resetView使一个类的方法和@constructor是,更多或更少的,例如在红宝石self.class

但是:四联zxsw POI

如果你想http://jsfiddle.net/ambiguous/eDdmd/是一个实例方法,那么你就需要更换此:

resetView

window.ns1.SetupStepTwo.resetView(); 实例的resetView通话。

© www.soinside.com 2019 - 2024. All rights reserved.