Petites actuces pour rubyonrails 3

Voici des petites actuces pour rubyonrails 3.

Obtenir le controlleur courant

controller.controller_name

Obtenir la méthode courante

controller.action_name

Récupérer l'host

request.env['HTTP_HOST']

Récupérer le useragent

request.env['HTTP_USER_AGENT']

Récupérer l'adresse ip du visiteur

request.env['REMOTE_ADDR']

Obtenir le referer

request.env['HTTP_REFERER']

Dans un controlleur, ce bout de code permet d'utiliser ma_methode dans les controllers comme dans les vues

helper_method :ma_methode

def ma_methode
   return "Hello World !"
end

Dans les routes si vous voulez plusieurs niveaux de profondeur qui pointent sur la même action

match '*fil/ma-methode' => 'controller/action'

match 'ma-methode' => 'controller/action'

Ainsi :

www.example.com/bla/bla/bla/ma-methode
www.example.com/bla/bla/ma-methode
www.example.com/ma-methode

Ces adresses pointent au même endroit, params[:fil] permet de récupérer le tableau des répertoires virtuels

Attention dans ce cas au duplicate content !

J'espère que ces petites astuces pour rails 3 vous serviront.