/ / CoffeeScript клас и jQuery - jquery, руби-на-релси-3, coffeescript

Клас "КафеScript" и jQuery - jquery, рубин на релси-3, coffeescript

Имам файл в CoffeeScript, в който пиша класа за взаимодействие с аудиоплейър, но по някаква причина не мога да се справя добре в друг файл с кафяв шрифт в приложението ми Rails.

player.coffee:

window.Player = ->
constructor: (@player_id = "player") ->
jw = {
"flashplayer":"<%= asset_path("player.swf") %>"
"controlbar": "top"
"autostart": "false"
"width":"400"
"height":"49"
"playlist": "[]"
"skin":"<%= asset_path("awardfm.zip") %>"
"dock":"false"
"wmode":"transparent"
}
jwplayer(@player_id).setup(jw);

play: (track_data) ->
console.log track_data

player_interactions.coffee

$ ->
jw = window.Player "player" || {}
$(".play").click ->
jw.play("test")

Продължавам да получавам тази грешка: Uncaught ReferenceError: Player is not defined

Сега работи с горните кодови проби

Отговори:

16 за отговор № 1

За да направите класа глобално адресируем, трябва(ако не сте в затваряне, в който случай трябва да го префиксирате с "прозорец", но най-вероятно няма да искате да го направите така).

player.coffee

class @Player
constructor: (@player = "player") ->
...

play: (track_data) ->
...

player_interactions.coffee

jw = new Player

2 за отговор № 2

За да получите достъп до функция от един файл на coffeescript в друг, прикачете функцията в обекта на най-горния прозорец, след това го препратете във вашия файл, window.MyClass