<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -129,9 +129,7 @@ WillPaginate::ViewHelpers::LinkRenderer.class_eval do
     unless param_name.index(/[^\w-]/)
       url_params[param_name.to_sym] = page
     else
-      page_param = (defined?(CGIMethods) ? CGIMethods : ActionController::AbstractRequest).
-        parse_query_parameters(param_name + '=' + page.to_s)
-      
+      page_param = parse_query_parameters(&quot;#{param_name}=#{page}&quot;)
       symbolized_update(url_params, page_param)
     end
   end
@@ -139,4 +137,22 @@ WillPaginate::ViewHelpers::LinkRenderer.class_eval do
   def get_request?
     @template.request.get?
   end
+  
+  private
+  
+  def parse_query_parameters(params)
+    if defined? Rack::Utils
+      # For Rails &gt; 2.3
+      Rack::Utils.parse_nested_query(params)
+    elsif defined?(ActionController::AbstractRequest)
+      ActionController::AbstractRequest.parse_query_parameters(params)
+    elsif defined?(ActionController::UrlEncodedPairParser)
+      # For Rails &gt; 2.2
+      ActionController::UrlEncodedPairParser.parse_query_parameters(params)
+    elsif defined?(CGIMethods)
+      CGIMethods.parse_query_parameters(params)
+    else
+      raise &quot;unsupported ActionPack version&quot;
+    end
+  end
 end
\ No newline at end of file</diff>
      <filename>lib/will_paginate/view_helpers/action_view.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>23e37cc1885c491f996ca57ea365886c9b39aab7</id>
    </parent>
  </parents>
  <author>
    <name>Kamal Fariz Mahyuddin</name>
    <email>kamal.fariz@gmail.com</email>
  </author>
  <url>http://github.com/mislav/will_paginate/commit/e0b094f44cf39e704f9862c708b202d331604cf7</url>
  <id>e0b094f44cf39e704f9862c708b202d331604cf7</id>
  <committed-date>2009-05-20T04:16:59-07:00</committed-date>
  <authored-date>2009-03-09T02:59:21-07:00</authored-date>
  <message>Rails 2.3 compat: query parameter parsing with Rack</message>
  <tree>2ba234c765a837f7b01301ce24684e6cdde9a248</tree>
  <committer>
    <name>Mislav Marohni&#263;</name>
    <email>mislav.marohnic@gmail.com</email>
  </committer>
</commit>
