使用:
Rails:3.0.3 Friendly_id:3.2.1
我正在建立一个具有(当前)两个语言环境的网站, :se 和 :en 我在其中使用friendly_id 来获取对 SEO 友好的 url。
目前,它工作正常,但我正试图让它与语言环境一起工作,并一直陷入死胡同。
有什么作用:
我为当前存在于 cached_slug 列中的名称创建了friendly_id。这很好用,我既可以使用 Calculation.find("calculation-name") 并使用它获取 url:s,例如 domain.com/calculation-name
什么不起作用:在实现这个之后:http://rdoc.info/github/norman/friendly_id/master/FriendlyId/I18n ,我现在有两列 slug_en 和 slug_se ,每个友好_id的翻译版本。我还在该指南中添加了索引。
我无法让我的应用程序找到它们(无论是通过 Calculation.find("this-swedish-translation") 还是通过 url domain.com/this-swedish-translation),但我已经彻底谷歌了,但没有运气。
我不知道是否需要更改模型中的某些内容。has_friendly_id 中与 I18n 相关的每个属性都会给我错误消息,例如:
- default_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