This project is archived and is in readonly mode.
render :file caches contents - doesn't reload until webserver reloaded
Reported by subimage | April 21st, 2010 @ 04:16 PM | in 2.3.6
Ran into this issue when upgrading a 2.1.2 app to 2.3.5.
I had a controller that was using render :file to show a CSS document.
In 2.1.2 I could edit that document, reload, and see the changes that happened. Under 2.3.5 the same code refuses to reload the document unless Rails/passenger is restarted. I was forced to use "render :text => File.read(file)" instead of render :file.
The new behavior is confusing.
Comments and changes to this ticket
-
Rizwan Reza May 15th, 2010 @ 03:52 PM
- Milestone set to 2.3.6
- Tag changed from cache, caching, file, render to bugmash, cache, caching, file, render
-
Diego Algorta May 15th, 2010 @ 06:25 PM
- Tag changed from bugmash, cache, caching, file, render to bugmash, cache, caching, file, not, render
not reproducible
I tried with 2-3-stable branch and I was able to update my template file and see the changes in the browser without needing to restart the app.
-
Rizwan Reza May 15th, 2010 @ 06:26 PM
- State changed from new to invalid
-
Rizwan Reza May 16th, 2010 @ 02:07 AM
- Tag changed from bugmash, cache, caching, file, not, render to cache, caching, file, not, render
-
heldopslippers June 22nd, 2010 @ 03:30 PM
It is reproducible.
I have te same problem. Running in development mode. And rendering a css file. When changing the file rails does not pick up on it.I have to say though that I am using it with an action (for very good reasons).
so for example I have this line of code in my application controller:
def css render :file => "#{RAILS_ROOT}/clients/#{client_id}/index.css", :layout => false end
I am by the way running v 2.3.8
And really don't know if this helps (first time) But I hope it does! -
dxg September 24th, 2010 @ 06:28 AM
- Importance changed from to Low
Have exactly the same problem.
Rails 2.3.9, ruby 1.9.1p429, i686-linux, development mode, using 'script/server'<%= render :file => Rails.root.to_s + '/app/views/ab_mailer/newsletter.html.erb' %>
-
Damon Cali November 3rd, 2010 @ 03:36 PM
Same problem.
Rails 2.3.5, Ruby 1.8.7-p302, Snow Leopard, development env, WEBrick 1.3.1
-
obregoru December 16th, 2010 @ 06:05 PM
I have this same problem - to get around it, I'm currently using the render :text => File.open as recommend above, but this method but this is much slower in terms of performance.
I have html files in /public which has content that is changed regularly. I would like to be able to have the file cached, yet, be able to update or invalidate the cache on a timed/regular basis so that the file reloads and is rendered via render :file..
Using file open along with my own cache of file contents may work well in the short run, but really - what is the answer here??
-
Paintrick February 25th, 2011 @ 12:32 PM
I have the same issue in 3.0.4..
could it be a proxy cache or something
or is it really Rails caching the render :file part?Also, when I open the rendered file in another browser tab
but then without rails, I see the latest content.how does this work / happen?
thanks! -
tsailipu March 25th, 2011 @ 08:45 PM
Same in 3.0.5. I do know that this behavior doesn't happen in development mode and only on production mode.... Is there a way for us to clear in the code whatever is being cached?
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
<h2 style="font-size: 14px">Tickets have moved to Github</h2>
The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>