<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-25624504</id><updated>2011-04-21T21:32:40.052-04:00</updated><title type='text'>Rails Québec</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://railsquebec.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25624504/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://railsquebec.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>magagnon</name><uri>http://www.blogger.com/profile/02286309063258021998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-25624504.post-115090262905589760</id><published>2006-06-21T10:58:00.000-04:00</published><updated>2006-06-21T11:14:29.020-04:00</updated><title type='text'>SystemStackError: stack level too deep</title><content type='html'>Je suis tombé sur une erreur étrange aujourd'hui.&lt;br /&gt;&lt;br /&gt;J'ai créé plusieurs routes dont l'une avait la  structure suivante:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;monsite.com/environment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pour une raison que j'ignore, cet route génère un SystemStackError:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SystemStackError: stack level too deep&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Encore pire, lorsque cette erreur apparaît, mon application ne fonctionne plus. Il faut redémarrer apache !&lt;br /&gt;&lt;br /&gt;Par contre, si je fais cette modification, il n'y a plus d'erreur:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;monsite.com/the_environment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;J'en conclu donc pour le moment que certains mots peuvent&lt;br /&gt;générer des conflits lorsqu'ils sont utilisés dans une route. Pour l'instant 'environment' est le seul que j'ai trouvé.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25624504-115090262905589760?l=railsquebec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25624504/posts/default/115090262905589760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25624504/posts/default/115090262905589760'/><link rel='alternate' type='text/html' href='http://railsquebec.blogspot.com/2006/06/systemstackerror-stack-level-too-deep.html' title='SystemStackError: stack level too deep'/><author><name>magagnon</name><uri>http://www.blogger.com/profile/02286309063258021998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-25624504.post-114538942901352916</id><published>2006-04-18T15:16:00.000-04:00</published><updated>2006-04-18T15:56:02.563-04:00</updated><title type='text'>Recevoir des rapports d'erreurs par courriel</title><content type='html'>Une façon pratique d'être informé lorsqu'une erreur critique survient est d'utiliser la fonction&lt;span style="font-weight: bold;"&gt; rescue_action_in_public. &lt;/span&gt;Cette fonction est exécutée automatiquement lorsqu'une exception est détectée.&lt;br /&gt;&lt;br /&gt;On peut la placer dans n'importe quel controlleur ou simplement la définir globalement dans le controlleur d'application.&lt;br /&gt;&lt;br /&gt;La fonction peut être modifiée afin qu'elle envoi un courriel lorsqu'une erreur critique survient. Le livre &lt;a href="http://www.amazon.com/gp/product/097669400X/102-1482964-2324901?v=glance&amp;n=283155"&gt;Agile Web Development with Rails&lt;/a&gt;  contient un exemple intéressant:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;def rescue_action_in_public(exception)&lt;br /&gt;case exception&lt;br /&gt;when ActiveRecord::RecordNotFound, ActionController::UnknownAction&lt;br /&gt;  render(:file   =&gt; "#{RAILS_ROOT}/public/404.html",&lt;br /&gt;  :status =&gt; "404 Not Found")&lt;br /&gt;else&lt;br /&gt;  render(:file   =&gt; "#{RAILS_ROOT}/public/500.html",&lt;br /&gt;  :status =&gt; "500 Error")&lt;br /&gt;  SystemNotifier.deliver_exception_notification(&lt;br /&gt;  self, request, exception)&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;Malheureusement ce code me retourne l'erreur suivante sur mon serveur de développement (Ruby 1.8.4, Rails 1.1.2):&lt;br /&gt;&lt;pre&gt;uninitialized constant UnknownAction&lt;/pre&gt;Je me suis rendu compte que Rails utilise le chemin invalide suivant...&lt;br /&gt;&lt;pre&gt;ActionWebService::Dispatcher::ActionController::UnknownAction&lt;/pre&gt;alors que UnknownAction se trouve dans ....&lt;br /&gt;&lt;pre&gt;ActionController::UnknownAction&lt;/pre&gt;En cherchant un peu, j'ai trouvé &lt;a href="http://wrath.rubyonrails.org/pipermail/rails/2006-February/016803.html"&gt;ce message&lt;/a&gt; qui suggère de remplacer ActionController::UnknownAction par &lt;span style="font-weight: bold;"&gt;::&lt;/span&gt;ActionController::UnknownAction.&lt;br /&gt;&lt;br /&gt;Ça fonctionne. Maintenant Rails cherche la classe UnknownAction dans le bon chemin, soit ActionController::UnknownAction. Sauf qu'au niveau de la syntaxe, je ne suis pas encore certain de comprendre la différence entre ...&lt;br /&gt;&lt;pre&gt;ActionController::UnknownAction&lt;/pre&gt;.. et ..&lt;br /&gt;&lt;pre&gt;::ActionController::UnknownAction&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25624504-114538942901352916?l=railsquebec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25624504/posts/default/114538942901352916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25624504/posts/default/114538942901352916'/><link rel='alternate' type='text/html' href='http://railsquebec.blogspot.com/2006/04/recevoir-des-rapports-derreurs-par.html' title='Recevoir des rapports d&apos;erreurs par courriel'/><author><name>magagnon</name><uri>http://www.blogger.com/profile/02286309063258021998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-25624504.post-114469384329994151</id><published>2006-04-10T14:22:00.000-04:00</published><updated>2006-04-18T15:16:05.216-04:00</updated><title type='text'>component_request?</title><content type='html'>La version 1.1.1 offre une option intéressante que j'attendais depuis un bout de temps, soit la possibilité de vérifier si l'action exécutée fait parti d'un component.:&lt;br /&gt;&lt;pre&gt;component_request?&lt;/pre&gt;&lt;br /&gt;Pratique lorqu'on veut prévenir l'exécution d'un bloc de code présent dans le controller d'application. Par exemple, pour éviter qu'un cookie soit envoyé chaque fois qu'un component est appellé, on peut utiliser le test suivant:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;if !component_request?&lt;br /&gt;  # don't send cookies for component requests&lt;br /&gt;  cookies[:locale] = {:value =&gt; @locale, &lt;br /&gt;  :expires =&gt; Time.now + 3600*24*365}&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25624504-114469384329994151?l=railsquebec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25624504/posts/default/114469384329994151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25624504/posts/default/114469384329994151'/><link rel='alternate' type='text/html' href='http://railsquebec.blogspot.com/2006/04/componentrequest.html' title='component_request?'/><author><name>magagnon</name><uri>http://www.blogger.com/profile/02286309063258021998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-25624504.post-114444168042393804</id><published>2006-04-07T16:25:00.000-04:00</published><updated>2006-04-21T14:53:57.020-04:00</updated><title type='text'>Bienvenue</title><content type='html'>Je suis un développeur de Montréal/Québec et j'ai décidé de partir ce blogue pour discuter de Ruby on Rails en français.&lt;br /&gt;&lt;br /&gt;À venir: des découvertes, trucs et astuces.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25624504-114444168042393804?l=railsquebec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25624504/posts/default/114444168042393804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25624504/posts/default/114444168042393804'/><link rel='alternate' type='text/html' href='http://railsquebec.blogspot.com/2006/04/bienvenue.html' title='Bienvenue'/><author><name>magagnon</name><uri>http://www.blogger.com/profile/02286309063258021998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
