params= {"search"=>"Search",
 "date_begin"=>"2007-05-01",
 "date_type"=>"created_on",
 "order"=>1,
 "report_type"=>"year_end",
 "person"=>
  {"reply_status_id"=>"1",
   "created_on"=>
    Tue, 01 May 2007 00:00:00 +0000..Fri, 23 May 2008 00:00:00 +0000},
 "date_end"=>"2008-05-23"}
R(Report,params)


=
"/report/?search=Search&date_begin=2007-05-01&date_type=created_on&order
=1&report_type=year_end&person=reply_status_id1created_on2007-05-01T00%3A00%3A00
%2B00%3A00..2008-05-23T00%3A00%3A00%2B00%3A00&date_end=2008-05-23"


     untested fix of module Helpers method R(c,*g)

   def R(c,*g)
     p,h=/\(.+?\)/,g.grep(Hash)
     g-=h
     raise "bad route" unless u = c.urls.find{|x|
       break x if x.scan(p).size == g.size &&
         /^#{x}\/?$/ =~ (x=g.inject(x){|x,a|
           x.sub p,C.escape((a[a.class.primary_key]rescue a))})
     }
     h.any?? u+"?"+h[0].map{|x|
        k, v = x
        if Hash===v
           name_ext, val = v.to_a.pop
           k="#{k}[#{name_ext}]"
           x=[k,val]
        end
        x.map{|z|
           C.escape(z)
           }*"="
        }*"&": u

end

hope this gets fixed in Camping 2.0

_______________________________________________
Camping-list mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/camping-list

Reply via email to