Forum: Rails France Afficher une 404

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Cyril M. (Guest)
on 2007-06-07 10:42
(Received via mailing list)
Bonjour,

Je voulais savoir quel était la manière propre d'afficher une erreur
404. Sur le net, j'ai constaté qu'une manière était de faire :

render :file => "#{RAILS_ROOT}/public/404.html",:status => 404

Mais je trouve ça un peu compliqué pour ce que c'est. En effet, ayant
l'habitude de développer avec Cherrypy (une librairie Python), il
existe une méthode toute simple qui est cherrypy.NotFound()

En cherchant dans la documentation Rails, je n'ai trouvé aucune
méthode qui pourrait ressembler à ça. Donc, je voulais avoir un peu
plus d'avis sur la méthode à employer. C'est sûr que l'avantage du
système précédent, est qu'au moins on est sur de la représentation à
afficher. Mais Rails est tellement basé sur les conventions que ça me
parait bizarre, qu'il y ait pas quelque chose de plus "simple" avec
récupération automatique du fichier 404.html.

Merci pour vos informations et bonne
journée
--
Cyril M.
Eric D. (Guest)
on 2007-06-07 11:38
(Received via mailing list)
On 6/7/07, Cyril M. <removed_email_address@domain.invalid> wrote:
> existe une méthode toute simple qui est cherrypy.NotFound()
YAKA

Tu peux par exemple ajouter la méthode suivante dans ton
ApplicationControler :
def renderNotFound( path = "#{RAILS_ROOT}/public/404.html" )
 render :file => path,:status => 404
end

Et 'op, te voilà avec un renderNotFound() tout simple


--
Éric Daspet
http://eric.daspet.name/
Titou T. (Guest)
on 2007-06-07 12:04
Autre solution :

tu crées un controlleur "erreur404", et tu personalise le fichier
index.rhtml comme tu le veux.

Il ne te reste plus qu'à rajouter ça à al fin de ton fichier "routes.rb"
:

map.connect '*erreur', :controller=>"erreur404"


http://ruby.developpez.com/faq/?page=Rails#rails_error
Jean-François (Guest)
on 2007-06-07 12:04
(Received via mailing list)
Cyril :
> En cherchant dans la documentation Rails, je n'ai trouvé aucune
> méthode qui pourrait ressembler à ça. Donc, je voulais avoir un
> peu plus d'avis sur la méthode à employer. C'est sûr que l'avantage
> du système précédent, est qu'au moins on est sur de la représentation
> à afficher. Mais Rails est tellement basé sur les conventions que
> ça me parait bizarre, qu'il y ait pas quelque chose de plus "simple"
> avec récupération automatique du fichier 404.html.

Voir AC::B#rescue_action et AC::B#rescue_action_in_public
que tu peux éventuellement redéfinir, si le comportement par
défaut ne te convient pas, dans la classe fille ApplicationController.

    -- Jean-François.

--
À la renverse.
Cyril M. (Guest)
on 2007-06-07 12:11
(Received via mailing list)
On 6/7/07, Eric D. <removed_email_address@domain.invalid> wrote:
> > l'habitude de développer avec Cherrypy (une librairie Python), il
> end
>
> Et 'op, te voilà avec un renderNotFound() tout simple
>
>

Ou même en faire un plugin tout simple :)

Donc, je vois qu'il faut que j'utilise tout simplement la modularité
de Rails. Mais rien n'est standard.

Merci pour vos réponses.

--
Cyril M.
This topic is locked and can not be replied to.