2015-04-26 1 views
0

J'aimerais utiliser des routes délimitées pour l'internationalisation. Voici mon routes.rbliens vers des routes de portée

scope "(:locale)", locale: /en|pl/ do 

    resources :announcements, only: [:index], path: '/news' 
    resources :diplomas, only: [:index, :show], path: '/graduates' 

end 

but est au point urls comme website.domain/pl/nouvelles pour contrôleur annonces et vérifiez params [: locale] dans ApplicationController dans une méthode before_action.

Mais j'ai problèmes avec générer des URL. Comme je l'ai déjà dit, je ne veux que de bonnes URL et mon sens de l'esthétique me dit que appname.domain/news /? Locales = pl n'est pas quelque chose que je recherche. :(

J'ai donc question:
Y at-il possibilité de générer des liens comme appname.domain/pl/nouvelles/lors de l'utilisation des itinéraires scope

Merci pour l'aide

Répondre

0

Vos itinéraires sont scope! en quelque sorte, de sorte qu'ils peuvent être appelés comme ceci:

your.domain/pl/news 
your.domain/en/news 

si cela plaît votre esthétique

. Donc, en d'autres termes, oui.

Jetez un coup d'oeil ici, sur la façon d'utiliser et de définir ceci:

http://guides.rubyonrails.org/i18n.html#setting-and-passing-the-locale

+0

Oui, cela est vrai, quand je vais à my.domain/pl/tout nouvelles semble fonctionner, mais je n » Je sais comment appeler link_to helper qui génère le lien de ces liens. – res

+0

Puisqu'il s'agit plutôt d'un paramètre spécifique à l'utilisateur, je suggère de l'enregistrer dans la session. Avec la définition de 'locale', vos routes doivent être créées en conséquence. –

+1

J'ai inclus la section, où il est expliqué, comment vous pouvez définir les paramètres régionaux. –