我在编辑条目后尝试重定向到另一个页面,我认为它正在使用更新代码,因为您正在更新数据库。我花了一些时间才意识到我在控制器中使用了错误的操作。有人可以解释如何编辑和更新工作。为什么有两种不同的行为?它们之间有什么区别?
答案 0 :(得分:52)
编辑操作负责呈现视图
更新操作负责与模型交互(数据库更新等)
如果你运行rake routes
,你会看到动词和动作之间的区别。通常,在提交表单时使用创建/更新操作。这与新操作和编辑操作不同,因为这些操作用于呈现视图(显示要提交的表单)。
答案 1 :(得分:13)
另一个观点 - 突出相似点和不同点有点多余:
新是呈现表单的前身操作,在提交时会运行创建操作。 (视图通常会重定向回索引视图,显示已经创建的类似项目的列表)
修改是呈现表单的前身操作,在提交时会运行更新操作。 (视图通常会重定向回索引视图,显示已经创建的类似项目的列表)