Как использовать перенаправление и передать объект в действие редактирования? - PullRequest
2 голосов
/ 30 июля 2011

Как использовать перенаправление и передать объект в действие редактирования? Следующий код не работает:

  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 ]

4 голосов
/ 30 июля 2011

Действие редактирования ищет params['promo_id'] (почему @params['promo_id']?).

Итак, пройдите :promo_id таким образом:

redirect_to admin_edit_path(:promo_id => promotion) 
1 голос
/ 30 июля 2011

Вы не должны перенаправлять в этом случае просто: render :action => :edit

Это стандартное поведение Rails, вы увидите это во всех контроллерах scaffolded как способ рендеринга формы редактирования с текущим объектом вдействие по обновлению без необходимости вставлять объекты в файлы cookie для передачи.

...