2016-02-11 48 views
2

假设一个用户正在编辑他们的设置,它失败了,并且url现在是/ user而不是/ user/edit,并且它正在使用更新用户控制器中的操作,而不是返回到编辑操作。有什么方法可以改变它吗?当表单失败时,“渲染”编辑“”使用更新操作而不是编辑操作

我在编辑操作中有实例变量,现在我也必须将它们放在更新操作中,以便页面在表单失败时仍然有效。这是很容易忘记的事情。你能告诉render 'edit'不仅渲染edit.html.erb,而且还使用编辑操作?

也许类似render 'edit', :action => 'edit'

+0

你可以做'redirect_to:action =>:edit',但是你需要传递任何你需要的变量,例如:有错误的实例变量。这个问题涉及传递变量:http://stackoverflow.com/questions/4887321/how-to-pass-a-variable-with-redirect-to –

回答

0

您可以定义一个私有方法来设置您的实例变量。然后在这两个操作中重新使用此方法。