views:

92

answers:

2

Hi, I would like to render specific HTML snippets for displaying banners, because each banner has a different nature (some images, some flash, etc). Every banner file is under app/public/banners/. I tried many ways, like:

render :file => "/banners/somebanner.html"

But it can't locate the file, because Rails looks under app/views. Any ideas ? Thanks!

Missing template banners/somebanner.html in view path app/views

+1  A: 

I've never tired it but just found this post on Google

render :file => "#{RAILS_ROOT}/public/banners/somebanner.html"

looks like there might be some caching side-effects, even in development mode

http://workingwithrails.com/forums/4-ask-a-rails-expert/topics/1178-render-file-rails-root-public-layouts-mylayout-cached

also you probably want :layout => false with that

house9
As you predicted it fails to cache the content :(
benoror
what about in staging or production mode? ideally it is not caching in development mode so changes show up without restarting the server - the issue from that link was that it was caching during development mode?
house9
+1  A: 

Temporary Fix:

Moved 'public/banners' to 'app/views/banners' and then made a synmlink in '/public' so my team can add new banners

benoror