Redirect_to et url


#1

Bonjour à tous,

J’aimerais utiliser des urls simplifiées pour permettre à
l’utilisateur d’accèder à son compte à l’url suivante
site.com/username

J’ai donc ajouté une map.connect ‘:id’ dans routes.rb

J’aurais aimé savoir s’il y avait une possibilité afin que redirect_to
@user renvoie vers /nickname et pas vers /users/nickname (ou /users/
id)

Merci beaucoup par avance !

Pierre


#2

Le 28 avr. 09 à 17:41, Pierre V. a écrit :

id)
Utilise les routes nommé

map.user_home ‘:id’

user_home_url(@user) => /12

il y a un test qui permet de faire ca :

it ‘should good route’
route_for(user_home_url(@user)).should == “/12”
end

car rien ne vaux un bon TMTBL


Cyril M.
http://blog.shingara.fr


#3

Hé cool le test ! Mais c’est du Rspec ?! -_-

Tu m’aide sur le TMTBL, what is it ?


#4

Merci Cyril donc pas moyen de faire que link_to @user renvoie /12
donc ?


#5

Le 28 avr. 09 à 18:38, Zaphod B. a écrit :

Hé cool le test ! Mais c’est du Rspec ?! -_-

L’important est le test pas le framework de test.

Tu m’aide sur le TMTBL, what is it ?

Test More Than BryanL

J’avoue je suis un des rares à l’utiliser.


Cyril M.
http://blog.shingara.fr


#6

Le 29 avr. 09 à 10:38, Pierre V. a écrit :

Merci Cyril donc pas moyen de faire que link_to @user renvoie /12
donc ?

Pas à ma connaissance. Mais attention, une route comme tu l’as mise
est dangereuse car potentiellement elle catch tout.


Cyril M.
http://blog.shingara.fr


#7

On peut le faire en fait en “overwritant” la route.
Dans mon routes.rb

map.guide ‘:nickname’, :controller => ‘guides’, :action =>
‘show’, :requirements => { :nickname => /[A-Za-z0-9]{1,20}/ }

et du coup, quand je fais guide_path(@guide), ça passe tout seul.


#8

Oui, c’est vrai :wink:
Je vais ajouter des :conditions pour essayer de ne pas tout capter
quand même…
Mais c’est tellement pratique de proposer des url simplifiées à ses
utilisateurs

Merci Cyril.