【发布时间】:2017-07-12 11:38:22
【问题描述】:
我正在通过远程表单调用用户控制器更新操作:true。我想在视图中呈现更新的用户 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
它工作正常,服务器响应正确呈现的 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)。
如何修复我的咖啡脚本以正确执行?我对 JS 和 CoffeScript 还很陌生。
【问题讨论】:
标签: jquery ruby-on-rails ajax coffeescript