我有一个向控制器发送两个参数的表单问题。如果对象的update
失败,我希望不触发erb.js
模板。
我在操作结束时添加了return
,但视图仍然被触发。
她是我的控制者,我认为她是否负责处理视图:
if @object.update(some_params)
...
respond_to do |f|
f.html {redirect_to some_path_here}
f.js
end
end
return
之所以会发生这种情况,是因为根据配置上的约定,如果没有明确指定,Rails
会自动呈现动作视图。
为了避免渲染,如果@object
没有成功更新,其中一个选项是设置头:
if @object.update(some_params)
...
respond_to do |f|
f.html {redirect_to some_path_here}
f.js
end
else
head :unprocessable_entity
end