【问题标题】:How Do I use redirect and pass an object to the edit action?如何使用重定向并将对象传递给编辑操作?
【发布时间】:2014-09-28 04:57:02
【问题描述】:

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

  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

【问题讨论】:

标签: ruby-on-rails ruby parameters action


【解决方案1】:

编辑操作正在寻找params['promo_id'](为什么是@params['promo_id']?)。

所以这样传递:promo_id

redirect_to admin_edit_path(:promo_id => promotion) 

【讨论】:

    【解决方案2】:

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

    这是标准的 Rails 行为,您将在所有脚手架控制器中看到这一点,作为在更新操作中使用当前对象重新呈现编辑表单的一种方式,而无需依赖将对象填充到 cookie 中来传递。

    【讨论】:

      猜你喜欢
      • 2012-06-02
      • 2019-02-18
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      相关资源
      最近更新 更多