2013-05-08 54 views
4

我使用的I18n與Redis的商店,並有一個奇怪的行爲敬請諒解Rails的3.2.13的I18n奇怪的行爲

[6] pry(main)> I18n.t("my_website_field") 
=> "M" 
[7] pry(main)> $redis.get("en.my_website_field") 
=> "\"My website\"" 

我只得到翻譯的第一個字母

回答

1

據我所知我相信redis-store存在某些版本的Rails問題(3.2.13恰好就是其中之一)。

由於我真的很好奇爲什麼會發生這種情況,我打開了Github更改日誌,並查看了他們在3.2.12 - > 3.2.13更新中更改的邏輯。

我注意到的主要變化是ActiveSupport for i18n的依賴鏈。 該代碼被更改FROM

s.add_dependency('i18n', '~> 0.6') 

TO

s.add_dependency('i18n', '= 0.6.1') 

其他唯一的變化是(來自更新日誌):

添加I18N範圍`distance_of_time_in_words

因此,如果我不得不接受一個有教養的猜測,我會說強制使用i18n到0.6.1與redis-store產生了某種類型的衝突。

注意:我將繼續關注更改日誌到i18n的問題,併發布如果我有關於該主題的更多信息。 無法在提交歷史記錄中找到具體問題,並且它們沒有保存更改日誌(3年前沒有:/),但我很好奇看看是否強制舊版本控制將允許i18n正常工作。