2016-04-05 1 views
0

私は2つのビューを持っていますが、両方の編集ボタンがあります。 このボタンはedit_viewにリダイレクトされます。 私がそこに提出すると、私はどこから来たのかをリダイレクトすることができます。そして、このビューの1つにURLのgetを付けてidパラメータを渡します。Rails - 2ビューから1へのリダイレクションedit_viewとget-paramsで戻る

モデル:

はlocalhost:3000 /順序/リスト>/順序/ edit_single_order> はlocalhost:3000 /順序/リストID = 1

はlocalhost:3000 /注文/管理します>/オーダー/ edit_single_order> /オーダー/

を管理リダイレクト:

def redirect_to_back_or_default_params(default = root_url, *args) 
     if request.env['HTTP_REFERER'].present? && request.env['HTTP_REFERER'] != request.env['REQUEST_URI'] 
     redirect_to :back, *args 
     else 
     redirect_to default, *args 
     end 
    end 
コントローラーリダイレクト:

redirect_to_back_or_default_params administrate_order_path(:provider_id => @cart_item.product.provider.id) 
+1

店舗セッション内のURLおよび成功した更新時にセッションでURLにリダイレクト。 –

答えて

0

問題が解決: 私はstore_locationとのparamsを通過した

コントローラ/ビュー:

store_location(params[:provider_id]) 

Store_location:

def store_location(args=nil) 
    #test to prevent Url's like order/administrate?id=  
    if args.nil? 
     session[:return_to] = "#{request.protocol}#{request.host_with_port}#{request.fullpath}"  
    else 
     session[:return_to] = "#{request.protocol}#{request.host_with_port}#{request.fullpath}?id=#{args}" 
    end 
    end 

リダイレクト:

def redirect_back_or_default(default) 
     redirect_to(session[:return_to] || default) 
     session[:return_to] = nil 
    end 
関連する問題