Ruby on rails 如何使用重定向并将对象传递给编辑操作?

Ruby on rails 如何使用重定向并将对象传递给编辑操作?,ruby-on-rails,ruby,parameters,action,Ruby On Rails,Ruby,Parameters,Action,如何使用重定向并将对象传递给编辑操作?以下代码无效: 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_p

如何使用重定向并将对象传递给编辑操作?以下代码无效:

  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

编辑操作正在查找
params['promo\u id']
(为什么
@params['promo\u id']
?)

因此,通过以下方式传递
:促销id

redirect_to admin_edit_path(:promo_id => promotion) 

在这种情况下,不应该重定向,只需:
render:action=>:edit


这是Rails的标准行为,在所有搭建的控制器中都可以看到,这是一种在更新操作中使用当前对象重新呈现编辑表单的方法,而不必依靠将对象填充到cookies中来传递。

您在这里问了同样的问题:我仍在等待您接受或评论我的答案。