0

我对向控制器发送两个参数的表单有疑问。如果对象失败,我希望erb.js不会触发模板。update

我已return在操作结束时添加,但仍会触发视图。

她是我的控制器的一部分,我认为它负责对视图进行操作:

if @object.update(some_params)

...
  respond_to do |f|
    f.html {redirect_to some_path_here}
    f.js
  end
end

return
4

1 回答 1

1

发生这种情况是因为根据配置的约定 Rails,如果未明确指定,则会自动呈现操作视图。

为了避免渲染,如果@object没有成功更新,其中一个选项是设置 head:

if @object.update(some_params)

...
  respond_to do |f|
    f.html {redirect_to some_path_here}
    f.js
  end
else
  head :unprocessable_entity
end
于 2018-08-05T18:38:23.853 回答