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