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

时间:2011-07-29 20:02:38

标签: 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_perfil.update_attributes(params[:promotion_profile])

         redirect_to admin_edit_path(promotion.id => @params[:promo_id])
       else
   end

2 个答案:

答案 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中来传递。