【发布时间】:2015-10-20 21:08:32
【问题描述】:
我的一个控制器的更新方法如下所示:
def update
@node = Node.find(params[:id])
@video = @node.media
@node.update(node_params)
@video.update(title: @node.name, description: @node.description)
end
我需要回调以确保 @node 和 @video 已更新。最好的方法是什么?
【问题讨论】:
-
您需要一个特定的函数作为回调(例如保存后执行一些其他任务)还是只是检查更新是否成功?
-
我需要一个特定的功能。我的前端 UI 开发人员有一些需要回调的 jQuery。 AJAX 的东西有点新,所以如果您需要更多信息,请告诉我。我想我可以用 UJS (update.js.erb) 创建条件。我可以弄清楚,我的主要问题是我不知道如何检查保存然后执行功能。我不知道
after_save是否可行,如果可行,我将如何实现它。 -
我想我需要更多信息。您想返回一个带有回调的 URL,以验证视频/节点是否已更新?以便您的 UI 开发人员可以向它发送 AJAX 请求?或者您是说根据视频和节点是否正确更新您要发送回调?
-
after_save非常适合您每次保存或更新视频时都需要对视频实例和节点执行操作。 -
对不起 - 是的,第二个
Or are you saying that based on whether the video and node were updated correctly you want to send a callback?每次我从更新方法更新视频和节点时,我都会想做一些事情。
标签: ruby-on-rails ruby-on-rails-4 callback after-save