Hi,
I have some controller code like this:
def mailing_lists
@ml = MailingList.find_by_identifier(@params[:id])
@messages = @ml.messages
@headers["Content-Type"] = "application/atom+xml"
@response.headers[''Last-Modified'']
@messages.last.created_on.httpdateunless @
messages.empty?
minTime = Time.rfc2822(@request.env["HTTP_IF_MODIFIED_SINCE"])
rescue
nil
if minTime and @messages.first.created_on <= minTime
render :text => ''Not Modified'', :status => 304
end
end
This works fine in development, but not in production. The funny thing is
that tailing production.log I can see that http status code 200 or 304 is
returned, but in the apache access log I can see that 500 is returned. The
latter is what I can also see in the browser.
I am wondering how to debug that... Putting rescues anywhere in the above
mentionend code has no effect. So I guess it is in the render method that is
called when no other explicit render invocation happend before?
I also don''t see anything I print with puts. In the dev environment
and
webrick I can see this output in the webrick console, but in production
(apache, fastcgi) I don''t know where to find this output. access.log,
error.log, production.log and the fastcgi logs don''t contain my puts
output.
Any ideas?
Cheers,
Mariano
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://wrath.rubyonrails.org/pipermail/rails/attachments/20060518/32ab2010/attachment.html
On May 18, 2006, at 11:20 AM, Mariano Kamp wrote:> Hi, > > I have some controller code like this: > > def mailing_lists > @ml = MailingList.find_by_identifier(@params[:id]) > @messages = @ml.messages > @headers["Content-Type"] = "application/atom+xml" > @response.headers[''Last-Modified''] = > @messages.last.created_on.httpdate unless @messages.empty? > > minTime = Time.rfc2822(@request.env["HTTP_IF_MODIFIED_SINCE"]) > rescue nil > if minTime and @ messages.first.created_on <= minTime > render :text => ''Not Modified'', :status => 304 > end > end >I don''t know how to answer your main question. However, in your code above, isn''t the first line incorrect? Shouldn''t it be: @ml = MailingList.find_by_identifier(params[:id]) # <-- notice no @ in front of params, it''s not a class instance var
Hi, yes, that is ugly... I will clean that up. Also for the use of @headers and of course @response.headers is also not nice to use. Still it is valid code. So I am still looking how I can get some more debug output about the rendering. Cheers, Mariano On 5/18/06, cremes.devlist@mac.com <cremes.devlist@mac.com> wrote:> > > On May 18, 2006, at 11:20 AM, Mariano Kamp wrote: > > > Hi, > > > > I have some controller code like this: > > > > def mailing_lists > > @ml = MailingList.find_by_identifier(@params[:id]) > > @messages = @ml.messages > > @headers["Content-Type"] = "application/atom+xml" > > @response.headers[''Last-Modified''] > > @messages.last.created_on.httpdate unless @messages.empty? > > > > minTime = Time.rfc2822(@request.env["HTTP_IF_MODIFIED_SINCE"]) > > rescue nil > > if minTime and @ messages.first.created_on <= minTime > > render :text => ''Not Modified'', :status => 304 > > end > > end > > > > I don''t know how to answer your main question. However, in your code > above, isn''t the first line incorrect? Shouldn''t it be: > > @ml = MailingList.find_by_identifier(params[:id]) # <-- notice no @ > in front of params, it''s not a class instance var > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060518/1f224e2b/attachment.html