Ich habe mir in den letzten paar Stunden den Kopf gekratzt, auf der Suche nach einer Antwort, aber ich kann sie nirgends finden.Mit Globeize & Friendly_id dieselbe Seite in andere Sprache umleiten
Mein Juwel Datei:
# 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'
Hier ist die Situation:
ich zwei Sprachen "en" und "fr" haben
2 Modelle: Seiten und pages_translations Seiten eine Schnecke Spalte hat, pages_translations hat auch eine Slug-Spalte.
wenn ich die Seite -> en/pages/slug-en, es funktioniert.
wenn ich die Seite -> fr/pages-slug-fr, es funktioniert.
Also ich nehme an, Friendly_id und Globalize sind richtig konfiguriert.
aber mein Problem ist, dass ich keine Sprachumschalter Arbeit machen können mit:
<% if I18n.locale != :en %>
<li>
<%= link_to t('menu.languages.short_en'), url_for(locale: 'en') %>
</li>
<% end %>
Die Route wird en/pages/Slug-fr (das heißt die Sprache ändert aber nicht die Schnecke).
Ich habe config.use: Finder im Initialisierer aktiviert.
Meine Seite Modell:
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 }
Also, was muss ich tun, um den richtigen Pfad-Umschalter auf meine Sprache zu haben? Im Idealfall möchte ich, dass dies mit allen Modellen funktioniert, nicht nur mit dem Page-Modell.
Danke! - Vincent
Die Frage ist bereits in dieser Verbindung gelöst http://stackoverflow.com/a/41788382/7351177 es dupliziert wird. –