Перевести friendly_id - PullRequest
       6

Перевести friendly_id

0 голосов
/ 13 сентября 2011

Использование:

Rails: 3.0.3 Friendly_id: 3.2.1

Я создаю веб-сайт с (в настоящее время) двумя локалями: se &: en, где я использую friendly_id дляполучить SEO-дружественный URL.

В настоящее время он работает нормально, но я пытаюсь заставить его работать с локалями и постоянно оказываться в тупике.

Что работает:

Я создал friendly_id для имени, которое в данный момент существует в столбце cached_slug.Это прекрасно работает, и я могу использовать как Calculation.find («имя-вычисления»), так и получить URL-адреса вместе с ним, например, domain.com/calculation-name

Что не работает: После реализации этого: http://rdoc.info/github/norman/friendly_id/master/FriendlyId/I18n, у меня теперь есть два столбца slug_en & slug_se с переведенными версиями каждого friendly_id.Я также добавил индексы в это руководство.

Я не могу заставить свое приложение найти их (ни по Calculation.find ("this-swedish-translation"), ни по URL-адресу domain.com/this-Шведский перевод), хотя я и прогуглил его полностью без удачи.

Я не знаю, нужно ли мне что-то изменить в модели.Каждый атрибут, связанный с I18n в has_friendly_id, выдает мне сообщения об ошибках, такие как:

  • default_locale
  • locale

Я не могу использовать такие атрибуты, как: use => slugged или: use =>: locale и т. д.

Мое первое предположение - я использую версию, которая не поддерживает I18n / locales?Трудно понять, на что на самом деле ссылается документация ...

Мой главный вопрос: что не так с моими предположениями и / или кодом?Почему я не могу заставить мое приложение использовать slug_en & slug_es так, как оно должно работать?

# Model
has_friendly_id :name, :use_slug => true, :max_length => 255, :approximate_ascii => true, :ascii_approximation_options => :latin

1 Ответ

0 голосов
/ 20 сентября 2011

Эта проблема была решена путем обновления до 4.0.0.Я до сих пор не понимаю, почему она не работала с предыдущей версией (насколько я понимаю, она должна).

...