Bonjour,
Je monte un système d’aide en ligne.
C’est possible de savoir au sein d’un controlleur de quel controller
et de quelle action l’on vient ? sans utiliser les sessions ?
Ciao’
Bonjour,
Je monte un système d’aide en ligne.
C’est possible de savoir au sein d’un controlleur de quel controller
et de quelle action l’on vient ? sans utiliser les sessions ?
Ciao’
controller_name et action_name sont des fonctions de
ActionController::Base
Seb
Le 6 juil. 06 à 08:31, Mathieu C. a écrit :
Salut !
À ce que je sache, rails ne propose pas de methode ou de variable
contenant cette info…
Mais créer une telle variable ne semble pas très difficile. En théorie :
class ApplicationController < ACB
before_filter :route_memory
def route_memory
@previous_controller_name = flash[:controller_name] # variable
d’instance si tu veux pouvoir y accéder dans la vue…
@previous_action_name = flash[:action_name] # …sans quoi
une variable locale devrait suffire.
flash[:controller_name] = controller_name
flash[action_name] = action_name
end
end
devrais suffire. Je n’ai pas le temps de tester. Mais quelque chose
dans le genre devrait aider
Le seul truc c’est que je ne sais pas si controller_name et
action_name sont déjà initialisées dans les pré-filtres… J’ai
présumé que oui.
Bonne chance,
Nicolas
Le 6 juil. 06 à 08:35, Sébastien Gruhier a écrit :
Bonjour,
Je monte un système d’aide en ligne.
C’est possible de savoir au sein d’un controlleur de quel controller
et de quelle action l’on vient ? sans utiliser les sessions ?
Salut Mathieu
même réponse que Nicolas, je ne connais pas d’autre moyen que les
sessions
pour l’instant… Dans Rails Recipes, ils utilisent cette méthode (ex:
intercepter les appels avec un filtre pour vérifier l’authentification,
si
pas authentifié noter le controleur et l’action en session, rediriger
vers
le controleur d’authentification, puis redirection vers le controleur et
l’action initial en cas de succès)
a+
Thibaut
même réponse que Nicolas, je ne connais pas d’autre moyen que les sessions
pour l’instant…
Dans Rails Recipes, ils utilisent cette méthode (ex:
intercepter les appels avec un filtre pour vérifier l’authentification, si
pas authentifié noter le controleur et l’action en session, rediriger vers
le controleur d’authentification, puis redirection vers le controleur et
l’action initial en cas de succès)
J’ai trouvé c’est tout bète : HTTP_REFERER
[help_controller.rb]
def show_help
textiletext=File.open(RAILS_ROOT+‘/public/help.textile’,“r”).readlines.to_s
render :text=>RedCloth.new(textiletext).to_html , :layout=> ‘help’
end
def popup
textiletext=File.open(RAILS_ROOT+‘/public/help.textile’,“r”).readlines.to_s
url=request.env[‘HTTP_REFERER’]
#ex: j’arrive ici venant de http://monsite/admin.user
#A adapter si l'appli rails est dans un sous dossier.
#Aurait été plus propre avec une regexp, mais j'ai pu faire qq
chose de satisfaisant
controller=url.split(‘/’)[3]
action=url.split(‘/’)[4]
action = ‘’ if action==nil
section=controller+'.'+action
redirect_to '/help/show_help#'+section
# http://monsite/help/show_help#admin.user
end
et dans l’aide en textile :
J’ai trouvé c’est tout bète : HTTP_REFERER
Attention, ce n’est pas très fiable comme solution
J’ai trouvé c’est tout bète : HTTP_REFERER
je ne te recommande pas cette option… C’est un champ fixé par le
client
(qui peut ne pas être là , ou avoir des valeurs farfelues…).
J’ai trouvé c’est tout bète : HTTP_REFERER
je ne te recommande pas cette option… C’est un champ fixé par le client
(qui peut ne pas être là, ou avoir des valeurs farfelues…).
Application Intra, j’ai pas trop peur
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs