簡體   English   中英

Rails控制台未加載所有語言環境

[英]Rails console not loading all the locales

我有一個帶有齲齒語言環境文件的項目,該文件根據它們對應的模型按子目錄進行組織。

為了使Rails都加載它們,我已經在config / application.yml中設置了這個選項:

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]

現在,執行Rails控制台並編寫一些需要添加最后一個語言環境文件(config / locale / email / en.yml)的內容,我得到以下信息:

Loading development environment (Rails 4.1.6)
2.1.3 :001 > I18n.t("email.footer_text")  
  => "translation missing: en.email.footer_text" 
2.1.3 :002 > translations = I18n.backend.send(:translations);
2.1.3 :003 > translations[:en][:email]  
  => nil

但是,如果我從控制器執行此操作(在puts命令的幫助下),它將很好地打印語言環境字符串。

PD:在控制台中,它將加載除最后添加的語言環境以外的所有其他語言環境。 我試圖刪除一個舊的,並且控制台(重啟后)給我一個錯誤,因為我刪除的語言環境不存在。

我應該清理任何緩存嗎?

如果控制台刪除文件后重新啟動控制台,控制台為何還記得該文件曾經存在過?

您應該首先在rails控制台中手動加載語言環境:

2.1.3 :001 > I18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM