aufrufen Ich versuche, eine JavaScript-Funktion (eigentlich coffeescript) von einem Controller in einer Rails 3.2 App aufzurufen.wie JavaScript-Funktionen von der Steuerung in Schienen
Ich bekomme einen Render and/or redirect were called multiple times in this action
Fehler.
Mein Code sieht wie folgt aus:
#Model.controller
def index
@models = Model.all
my_action if current_user.name == "Bob" #or some other general conditional
...and some stuff
respond_to do |format|
format.html
format.js #this is needed to handle ajaxified pagination
end
end
def my_action
respond_to do |format|
format.js { render :js => "my_function();" } #this is the second time format.js has been called in this controller!
end
end
#functions.js.coffee.erb
window.my_function = ->
i = xy
return something_amazing
Was ist der richtige Weg ist, eine js Funktion von der Steuerung zu nennen?
Ich denke, in Kaffee Sie eine Funktion wie 'erklären müssen my_function ->' (check this: http://js2coffee.org/ und versuchen Sie Ihr Kaffee-Skript, es funktioniert nicht) – MrYoshiji
good spot, das ist ein Transkriptionsfehler –
Ich glaube nicht, my_function wird verfügbar sein, da es nicht an das Fenster oder im globalen Namespace gebunden ist. Siehe http://stackoverflow.com/questions/4214731/coffeescript-global-variables und http://stackoverflow.com/questions/9059475/how-to-generate-global-named-javascript-functions-in-coffeescript-for -google-a –