From 6c81590f14fa5b04b7367f402b22db891edcd3c1 Mon Sep 17 00:00:00 2001 From: scambra Date: Fri, 2 Sep 2011 15:13:16 +0200 Subject: [PATCH] All requests should be get, it was failing due to forgering protection when a post request use render_component For example using render :active_scaffold in the layout, when a post request fails due to validation errors, render_component fails due to forgery protection, clears your session, and it will logout you for example. --- lib/render_component/components.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/render_component/components.rb b/lib/render_component/components.rb index fe00150..03acfca 100644 --- a/lib/render_component/components.rb +++ b/lib/render_component/components.rb @@ -118,6 +118,7 @@ def request_for_component(controller_path, options) request.env.select {|key, value| key == key.upcase || key == 'rack.input'}.each {|item| request_env[item[0]] = item[1]} + request_env['REQUEST_METHOD'] = "GET" request_env['REQUEST_URI'] = url_for(options) request_env["PATH_INFO"] = url_for(options.merge(:only_path => true)) request_env["action_dispatch.request.symbolized_path_parameters"] = request_params