Is there any way to write a route that delivers a static resource?
For some reason something (looks like Google Toolbar according to the
user-agent string) is requesting favicon.ico at all sorts of weird
places, not just at the root location where favicon.ico belongs, but at
/someAction/favicon.ico, etc.
I’d like to direct these all to the actual favicon.ico, to keep them out
of my error logs.
If I can’t do it in routes, I guess I can do it in apache.
Thanks for any help!
On Apr 16, 2009, at 2:46 PM, Jonathan R. wrote:
of my error logs.
If I can’t do it in routes, I guess I can do it in apache.
Thanks for any help!
Do you have something in your layout that says to find “favicon.ico”
that could just be changed to “/favicon.ico” perhaps?
-Rob
Rob B. http://agileconsultingllc.com
[email protected]
Rob B. wrote:
Do you have something in your layout that says to find “favicon.ico”
that could just be changed to “/favicon.ico” perhaps?
Nope, it’s nothing in my layout anywhere. It’s Google Toolbar acting up
for some reason. Apparently others have seen it too:
http://www.google.com/support/forum/p/Toolbar/thread?tid=78479dcc02044f76&hl=en
But still wondering if I can ‘route’ to a static resource, occasionally
need that for other purposes too.
The problem is a catch-all route at the end would be AFTER the default
map.connect ‘:controller/:action/:id’
type routes. So weird routes that things like Google Toolbar and
MS Word keep sending like “fake/notAnAction.gif” would not get caught by
my catch-all, right?
I guess apache is the way to go.
Or, in another question I posted in another thread, figure out how to
keep Rails from putting a backtrace in for these kind of errors in
general. Haven’t figured out where in Rails is actually generating that
annoying backtrace in production.log in the first place.
Philip H. wrote:
You could add a catch-all route at the end that checks for
“favicon.ico” and then send-file the real favicon.ico back. Or to
speed it up do it using rack/metal.
But if were me, I’d do it in apache. That will definitely be the
fastest.
occasionally
need that for other purposes too.
You could add a catch-all route at the end that checks for
“favicon.ico” and then send-file the real favicon.ico back. Or to
speed it up do it using rack/metal.
But if were me, I’d do it in apache. That will definitely be the
fastest.
Philip H. wrote:
You could add a catch-all route at the end that checks for
“favicon.ico” and then send-file the real favicon.ico back. Or to
speed it up do it using rack/metal.
But if were me, I’d do it in apache. That will definitely be the
fastest.
Woops, I forgot my real question. Right, I can do a catch-all like that
(I actually did figure out a way to do that) – but how do I have a
rails route send back a static file?
Do I need to create a method in application.rb for sending back the
static file? Any way to tell a route to result in a static file?
THAT was my original question!
Jonathan
rails route send back a static file?
You don’t. Look at the ‘send_data’ method in action controller.
Do I need to create a method in application.rb for sending back the
static file? Any way to tell a route to result in a static file?
If you’re going to do this in Rails and you’re using a version that
supports Rack, do it in rails metal. It will be a lot simpler and
keep the entire thing out of your logs.
-philip