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.