Rails 3.2アプリケーションのコントローラーからjavascript関数(実際にcoffeescript)を呼び出そうとしています。レールのコントローラーからJavaScript関数を呼び出す方法
私はRender and/or redirect were called multiple times in this action
エラーが発生しています。
私のコードは次のようになります。
#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
コントローラからのJS関数を呼び出すための正しい方法は何ですか?
:このようにそれを修正 – MrYoshiji
良い点は、その1つは転記ミスです。 –
my_functionは、ウィンドウやグローバル名前空間にバインドされていないため、使用できないと思います。 http://stackoverflow.com/questions/4214731/coffeescript-global-variablesおよびhttp://stackoverflow.com/questions/9059475/how-to-generate-global-named-javascript-functions-in-coffeescript-forを参照してください。 -google-a –