1
  responds_to_parent do
      render :update do |page|
          page << "tb_remove"
          item_link = params[:controller].eql?("compliance_items") ? edit_compliance_compliance_item_path(master, @master_item) : edit_controls_item_path(@master_item)
          #          page.redirect_to(item_link + "?token=#{params[:token]}")
     end
 end

こんにちは、上記のコードで、二重レンダリングエラーが発生しています(件名はエラーです)...誰か助けてもらえますか?

それはまた悪いことです-スタックオーバーフローは、評判なしで新しいタグを作成するオプションを与えていません..!!!

4

1 に答える 1

2

renderとの両方を呼び出すことはできませんredirect_to。それがあなたがしたことです(ブロックredirect_to内で呼び出します)。render

場合によってはリダイレクトするには、条件をブロックのif外に移動する必要があります。render次のようなものを試してください。

if I_need_to_redirect
  item_link = params[:controller].eql?("compliance_items") ? edit_compliance_compliance_item_path(master, @master_item) : edit_controls_item_path(@master_item)
  redirect_to item_link
else
  responds_to_parent do
    render :update do |page|
      page << "tb_remove"
    end
  end
end

whereI_need_to_redirectは、リダイレクトする必要があるかどうかを確認するための条件に置き換える必要があります(falseの場合は、代わりにレンダリングする必要があります)。

于 2012-09-06T08:04:28.733 に答える