如何使用重定向并将对象传递给编辑操作?以下代码不起作用:
def edit
@promotion = Promotion.find_by_id(@params['promo_id'])
end
def update
promotion = Promotion.find(params[:promotion_profile][:promotion_id])
promo_perfil = promotion.profile
if promo_perfil.update_attributes(params[:promotion_profile])
redirect_to admin_edit_path(promotion.id => @params[:promo_id])
else
end
答案 0 :(得分:4)
编辑操作正在寻找params['promo_id']
(为什么@params['promo_id']
?)。
以这种方式传递:promo_id
:
redirect_to admin_edit_path(:promo_id => promotion)
答案 1 :(得分:1)
在这种情况下,您不应仅重定向:render :action => :edit
这是标准的Rails行为,您将在所有脚手架控制器中看到这一点,作为在更新操作中使用当前对象重新呈现编辑表单的一种方式,而不必依赖于将对象填充到cookie中来传递。