我有一个通过 AJAX 呈现错误的表单。表单正在正确发送远程请求,并且服务器正在返回 javascript:
(function() {
$("#main").fadeIn(". . .");
}).call(this);
不幸的是,浏览器中实际上没有呈现任何内容。起初我以为js代码一定有错误,但是当我将此代码复制并粘贴到Firebug控制台时,它正确地淡入了新内容。问题似乎是浏览器一开始就没有运行代码。什么可能导致这个问题?
作为参考,这是我的表单标记:
= simple_form_for @user, html: {multipart: true}, remote: true do |f|
. . .
.btn.btn--positive = f.submit
这是控制器动作:
def update
if @user.update(user_params)
redirect_to @user, notice: t('shared.notices.item_was_successfully_updated', item: @user.name)
else
render layout: 'transition.js.coffee', action: 'edit'
end
end
当更新未验证并且 Rails 运行该行时会发生错误render layout: 'transition.js.coffee', action: 'edit'
。