Mi sono grattato la testa per le ultime ore, cercando una risposta ma non riesco a trovarla da nessuna parte.Reindirizza la stessa pagina in un'altra lingua con Globalize & Friendly_id
Il mio file gemma:
# Use globalize for translating models
gem "globalize", github: "ncri/globalize" # for Rails 4.2
gem 'globalize-accessors', '~> 0.1.5'
# Use friendly_id for slugs
gem 'friendly_id', '~> 5.1.0'
gem 'friendly_id-globalize', '~> 1.0.0.alpha1'
Ecco la situazione:
Ho due lingue "it" e "fr"
2 modelli: pagine e pages_translations pagine ha una colonna slug, pages_translations ha anche una colonna di slug.
se visualizzo la pagina -> it/pages/slug-it, funziona.
se visualizzo la pagina -> fr/pagine-slug-fr, funziona.
Quindi presumo che friendly_id e globalize siano correttamente configurati.
Tuttavia il mio problema è che non riesco a far funzionare un linguaggio switcher utilizzando:
<% if I18n.locale != :en %>
<li>
<%= link_to t('menu.languages.short_en'), url_for(locale: 'en') %>
</li>
<% end %>
Il percorso diventa it/pages/slug-fr (vale a dire la lingua cambia ma non la lumaca).
Ho attivato config.use: cercatori nell'inizializzatore.
La mia pagina del modello:
translates :title, :slug, :blurb, :content, :seo_title, :seo_description, :seo_keywords
globalize_accessors :locales => [:en, :fr], :attributes => [:title, :slug, :blurb, :content, :seo_title, :seo_description, :seo_keywords]
extend FriendlyId
friendly_id :slug, :use => :globalize
validates :slug, presence: true, uniqueness: { case_sensitive: false }
Così che cosa devo fare per avere il percorso corretto sul mio switcher lingua? Idealmente, mi piacerebbe che funzionasse con qualsiasi modello, non solo con il modello Page.
Grazie! - Vincent
La questione è già risolto in questo link http://stackoverflow.com/a/41788382/7351177 è duplicato. –