javascript - 通过表单保存模型后重新渲染 Rails 部分

标签 javascript ruby-on-rails forms ruby-on-rails-4

我在提交 remote: true 表单后重新渲染部分内容,但我的问题是它似乎在完全完成表单的更新操作之前重新渲染部分内容。因此,它会在页面上呈现旧数据,并仅在完全刷新后(或当我再次提交表单时)显示更新的信息。有没有办法强制应用程序在一切完成后重新渲染部分,以便仅显示新信息?或者我在这里遗漏了一步?

update.js.erb:

$("#methods").html("<%= escape_javascript(render partial: 'methods') %>");

owner_controller.rb

respond_to :html, :js, :json

def update
  if owner.update_attributes(owner_params)
    respond_to do |format|
      format.js
    end
  else
    fail_update
  end
end

最佳答案

$("#methods").html("<%= escape_javascript(render partial: 'methods', locals: {owner: @owner}) %>");

假设您在之前的操作中设置所有者,请将您设置的变量从所有者更改为@owner。

关于javascript - 通过表单保存模型后重新渲染 Rails 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813924/

相关文章:

javascript - 替换除匹配字符串之外的所有内容 - JS Regex

javascript - 主干表行 View ,只有一个事件监听器?

javascript - 将退出键绑定(bind)到实例?

javascript - ES2015函数名推断在哪里定义的?

html - 在同一直线 rails 中对齐标签和文本字段

ruby-on-rails - 由于 key 类型不受支持,无法将 Rails 应用部署到 DigitalOcean

javascript - 使用 Restangular 并尝试将多个参数设置为 $scope 中的 var

html - 真正的 2019 禁用 chrome 自动填充的解决方案

javascript - 通过 javascript 跟踪表单更改的最佳方法是什么?

c# - 如何让 ActionResult 方法返回要下载的文件和部分 View ?