On Thu, Aug 4, 2011 at 12:09 AM, Quon <[email protected]> wrote:

> --------------code-begin----------------
> # Allow the metal piece to run in isolation
> require(File.dirname(__FILE__) + "/../../config/environment") unless
> defined?(Rails)
>
> class Accelerator
>  def self.call(env)
>    if env["PATH_INFO"] =~ /^\/accelerator/
>      [200, {"Content-Type" => "text/html"}, ["Hello, World!"]]
>    else
>      [404, {"Content-Type" => "text/html"}, ["Not Found"]]
>    end
>  end
> end
> --------------code-end------------------
> with the code i can process every request without configure rails
> router. how can i  do the same thing in rails3?
>
>
Quon, the cool thing about Rails 3 is that the router can accept any Rack
application.  Thus, one can do the above in Rails 3 as follows:

routes.rb:

root  :to => Accelerator
match ':controller(/:action(/:id(.:format)))' => Accelerator

application.rb:

config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/"]

lib/accelerator.rb:

class Accelerator
 def self.call(env)
   if env["PATH_INFO"] =~ /^\/accelerator/
     [200, {"Content-Type" => "text/html"}, ["Hello, World!"]]
   else
     [404, {"Content-Type" => "text/html"}, ["Not Found"]]
   end
 end
end

This is one way to do it but I'm sure it's a Rails 3 way to DRY up the
routes.

Good luck,

-Conrad


> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to