Ciao lista, sto utilizzando all'interno di un progetto rails routing-filter (https://github.com/svenfuchs/routing-filter) Sito multi lingua che utilizza high_voltage. Rail mi generava degli orribili "?locale=en" Ho configurato le mie rotte secondo questo modello: filter :locale, :exclude => /^\/admin/ scope "/(:locale)", :locale => /it|fr/ do resources :varie resources :eventuali match "#{HighVoltage::content_path}*id" => 'high_voltage/pages#show', :as => :page end in questo modo ottengo rotte corrette ma quando la url viene generata da qualcosa come resource_path sono dolori: /it/miapagina (quando utilizzo HighVoltage) /it/it/varie (quando utilizzo un path generato da una mia risorsa) di fatto c' una sovrapposizione tra quello che fa routing-filter e quello che rails fa di default quando vede che c' un locale e lo inserisce nella url. Con exclude posso evitare /admin e va bene ma per il restante delle risorse diventa troppo noioso. Ho trovato due strade e mi fanno schifo tutte e due: - RoutingFilter.active = false spengo l'url rewrite in toto. Nelle poche pagine HighVoltage faccio a mano - dentro la gemma RoutingFilter ho inserito una cosa di questo tipo: ... prepend_segment!(result, locale) if prepend_locale?(locale,url) && !excluded?(url) # <--- AGGIUNTO url come parametro passato a prepend_locale? ... def prepend_locale?(locale,url) locale && (self.class.include_default_locale? || !default_locale?(locale) ) && !url.include?(locale.to_s) # <--- AGGIUNTO l'ultimo include? end ... Qualcuno ha suggerimenti in merito? grazie Lorenzo
on 2013-01-03 13:06
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.