2010-08-02 3 views
1

Je passe d'un site Google App Engine à un rail et je souhaite conserver ma place dans google search. Actuellement, mon site utilise une URL /page?pid=microsoft-interview-questions pour accéder à la sous-section Microsoft des questions d'entrevue. Comment créer une route qui peut envoyer ceci à '/tags/:id' où: id serait Microsoft dans ce cas?Comment est-ce que j'écris une route qui est SEO friendly dans les rails?

+0

Voulez-vous conserver les itinéraires existants ou souhaitez-vous les envoyer à "tags"? Ou les deux? –

+0

Pas tout à fait clair ce que vous demandez. Vous voulez recevoir ceci: "/ tags/page? Pid = microsoft-interview-questions" avec "page? Pid = microsoft-interview-questions" pour être le paramètre: id? – mark

+0

Désolé pour ne pas être clair, je voudrais '/ page? Pid = microsoft-interview-questions' aller à: controller => tags,: action => show pour le tag intitulé microsoft. – Teddy

Répondre

1

En plus de la réponse de josh Je vais mettre cette ici pour la mise en forme:

# your controller 

def show 
    @subject = Subject.find my_stripped_id 


private 
def my_stripped_id 
    params[:id].sub(/-interview-questions/, '') 
end 
+0

Cela prend en charge la partie logique de la distillation de l'ID. Il semble cependant que, à cause de la? il passe le paramètre en tant que pid au lieu d'id – Teddy

1

quelque chose comme cela devrait fonctionner (en routes.rb):

map.connect '/ Page pid =: numéro', : controller => 'tags',: action => ' show »

voir routes reference

+0

Le seul problème avec cela est que Je ne sais pas comment analyser les «questions -interview» après le nom du tag. – Teddy