リモートでフォームを介してユーザコントローラの更新アクションを呼び出す:true。私は、ビューで更新されたユーザのHTMLをレンダリングしたいので、私は、コントローラでこのコードを持っている:Rails 5 - Ajaxでモデルを更新し、リクエストレスポンスhtmlをビューに追加する
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(user_params)
format.html {
flash[:success] = "Profile updated"
redirect_back fallback_location: @user
}
format.js { render partial: 'user', locals: { user: @user } }
else
format.html { render 'show' }
format.js {}
end
end
end
それは罰金、サーバは問題は私のcoffescriptである正確なレンダリングされたHTMLとステータス200で応答動作します:
$ ->
$(".edit_user[data-remote]").on "ajax:success", (e, data, status, xhr) ->
console.log(e)
console.log(data)
console.log(status)
console.log(xhr)
$(this).closest('tr').fadeOut()
if $(this).data('action') == 'hire'
$('#active-users').append data
else
$('#archive-users').append data
このコードは実行されず、理由はわかりません。コントローラのcoffescriptからrender partial: 'user', locals: { user: @user }
を取り除くと、(私はもちろんこのレンダリングされたhtmlが必要です)見つけました。
coffescriptを正しく実行するにはどうすればよいですか?私はJSとCoffeScriptにはかなり新しいです。
ありがとうございました! それは私のために働いた:) – Ptr