Вы можете решить эту проблему с помощью «частичных» файлов кофе, которые вы отображаете встроенными.
../assets/javascripts/inline/facebook_invites.js.coffee
Убедитесь, что все события внутри файла запускаются при загрузке DOM
$ ->
# do Facebook stuff
facebook.haml:
= javascript_include_tag "inline/facebook_invites"
Тогда есть также подход, который я использую для создания контроллера / просмотра конкретного Кофефайлы:
application.html.haml:
%body{ :data => { :controller => params[:controller], :action => params[:action]} }
application.js.coffee:
$(document).ready ->
load_javascript($("body").data('controller'),$("body").data('action'))
load_javascript = (controller,action) ->
$.event.trigger "#{controller}.load"
$.event.trigger "#{action}_#{controller}.load"
facebook.js.coffee
$(document).bind 'edit_facebook.load', (e,obj) =>
# fire on edit facebook controller action
$(document).bind 'show_facebook.load', (e,obj) =>
# fire on show facebook controller action
$(document).bind 'facebook.load', (e,obj) =>
# fire on all facebook controller actions